# Trait byteorder::ReadBytesExt [−] [src]

    pub trait ReadBytesExt: Read {
        fn read_u8(&mut self) -> Result<u8> { ... }
        fn read_i8(&mut self) -> Result<i8> { ... }
        fn read_u16<T: ByteOrder>(&mut self) -> Result<u16> { ... }
        fn read_i16<T: ByteOrder>(&mut self) -> Result<i16> { ... }
        fn read_u32<T: ByteOrder>(&mut self) -> Result<u32> { ... }
        fn read_i32<T: ByteOrder>(&mut self) -> Result<i32> { ... }
        fn read_u64<T: ByteOrder>(&mut self) -> Result<u64> { ... }
        fn read_i64<T: ByteOrder>(&mut self) -> Result<i64> { ... }
        fn read_uint<T: ByteOrder>(&mut self, nbytes: usize) -> Result<u64> { ... }
        fn read_int<T: ByteOrder>(&mut self, nbytes: usize) -> Result<i64> { ... }
        fn read_f32<T: ByteOrder>(&mut self) -> Result<f32> { ... }
        fn read_f64<T: ByteOrder>(&mut self) -> Result<f64> { ... }
    }

Extends `Read` with methods for reading numbers. (For `std::io`.)

Most of the methods defined here have an unconstrained type parameter that must be explicitly instantiated. Typically, it is instantiated with either the `BigEndian` or `LittleEndian` types defined in this crate.

# Examples

Read unsigned 16 bit big-endian integers from a `Read`:

    use std::io::Cursor;
    use byteorder::{BigEndian, ReadBytesExt};

    let mut rdr = Cursor::new(vec![2, 5, 3, 0]);
    assert_eq!(517, rdr.read_u16::<BigEndian>().unwrap());
    assert_eq!(768, rdr.read_u16::<BigEndian>().unwrap());

## Provided Methods

### `fn read_u8(&mut self) -> Result<u8>`

Reads an unsigned 8 bit integer from the underlying reader.

Note that since this reads a single byte, no byte order conversions are used. It is included for completeness.

### `fn read_i8(&mut self) -> Result<i8>`

Reads a signed 8 bit integer from the underlying reader.

Note that since this reads a single byte, no byte order conversions are used. It is included for completeness.

### `fn read_u16<T: ByteOrder>(&mut self) -> Result<u16>`

Reads an unsigned 16 bit integer from the underlying reader.

### `fn read_i16<T: ByteOrder>(&mut self) -> Result<i16>`

Reads a signed 16 bit integer from the underlying reader.

### `fn read_u32<T: ByteOrder>(&mut self) -> Result<u32>`

Reads an unsigned 32 bit integer from the underlying reader.

### `fn read_i32<T: ByteOrder>(&mut self) -> Result<i32>`

Reads a signed 32 bit integer from the underlying reader.

### `fn read_u64<T: ByteOrder>(&mut self) -> Result<u64>`

Reads an unsigned 64 bit integer from the underlying reader.

### `fn read_i64<T: ByteOrder>(&mut self) -> Result<i64>`

Reads a signed 64 bit integer from the underlying reader.

### `fn read_uint<T: ByteOrder>(&mut self, nbytes: usize) -> Result<u64>`

Reads an unsigned n-bytes integer from the underlying reader.

### `fn read_int<T: ByteOrder>(&mut self, nbytes: usize) -> Result<i64>`

Reads a signed n-bytes integer from the underlying reader.

### `fn read_f32<T: ByteOrder>(&mut self) -> Result<f32>`

Reads a IEEE754 single-precision (4 bytes) floating point number from the underlying reader.

### `fn read_f64<T: ByteOrder>(&mut self) -> Result<f64>`

Reads a IEEE754 double-precision (8 bytes) floating point number from the underlying reader.

## Implementors

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)