-inline typename InputStreamType::byte_type istream_read_byte(InputStreamType& istream)
-{
- typename InputStreamType::byte_type b;
- istream.read(&b, sizeof(typename InputStreamType::byte_type));
- return b;
+inline int32_t istream_read_int32_be( InputStreamType& istream ){
+ int32_t value;
+ istream_read_big_endian( istream, value );
+ return value;
+}
+
+template<typename InputStreamType>
+inline uint32_t istream_read_uint32_le( InputStreamType& istream ){
+ uint32_t value;
+ istream_read_little_endian( istream, value );
+ return value;
+}
+
+template<typename InputStreamType>
+inline uint32_t istream_read_uint32_be( InputStreamType& istream ){
+ uint32_t value;
+ istream_read_big_endian( istream, value );
+ return value;
+}
+
+template<typename InputStreamType>
+inline float istream_read_float32_le( InputStreamType& istream ){
+ float value;
+ istream_read_little_endian( istream, value );
+ return value;
+}
+
+template<typename InputStreamType>
+inline float istream_read_float32_be( InputStreamType& istream ){
+ float value;
+ istream_read_big_endian( istream, value );
+ return value;
+}
+
+template<typename InputStreamType>
+inline typename InputStreamType::byte_type istream_read_byte( InputStreamType& istream ){
+ typename InputStreamType::byte_type b;
+ istream.read( &b, sizeof( typename InputStreamType::byte_type ) );
+ return b;