claxon::input

Trait ReadBytes

Source
pub trait ReadBytes {
    // Required methods
    fn read_u8(&mut self) -> Result<u8>;
    fn read_u8_or_eof(&mut self) -> Result<Option<u8>>;
    fn read_into(&mut self, buffer: &mut [u8]) -> Result<()>;
    fn skip(&mut self, amount: u32) -> Result<()>;

    // Provided methods
    fn read_be_u16(&mut self) -> Result<u16> { ... }
    fn read_be_u16_or_eof(&mut self) -> Result<Option<u16>> { ... }
    fn read_be_u24(&mut self) -> Result<u32> { ... }
    fn read_be_u32(&mut self) -> Result<u32> { ... }
    fn read_le_u32(&mut self) -> Result<u32> { ... }
}
Expand description

Provides convenience methods to make input less cumbersome.

Required Methods§

Source

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

Reads a single byte, failing on EOF.

Source

fn read_u8_or_eof(&mut self) -> Result<Option<u8>>

Reads a single byte, not failing on EOF.

Source

fn read_into(&mut self, buffer: &mut [u8]) -> Result<()>

Reads until the provided buffer is full.

Source

fn skip(&mut self, amount: u32) -> Result<()>

Skips over the specified number of bytes.

For a buffered reader, this can help a lot by just bumping a pointer.

Provided Methods§

Source

fn read_be_u16(&mut self) -> Result<u16>

Reads two bytes and interprets them as a big-endian 16-bit unsigned integer.

Source

fn read_be_u16_or_eof(&mut self) -> Result<Option<u16>>

Reads two bytes and interprets them as a big-endian 16-bit unsigned integer.

Source

fn read_be_u24(&mut self) -> Result<u32>

Reads three bytes and interprets them as a big-endian 24-bit unsigned integer.

Source

fn read_be_u32(&mut self) -> Result<u32>

Reads four bytes and interprets them as a big-endian 32-bit unsigned integer.

Source

fn read_le_u32(&mut self) -> Result<u32>

Reads four bytes and interprets them as a little-endian 32-bit unsigned integer.

Implementations on Foreign Types§

Source§

impl<'r, R: ReadBytes> ReadBytes for &'r mut R

Source§

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

Source§

fn read_u8_or_eof(&mut self) -> Result<Option<u8>>

Source§

fn read_into(&mut self, buffer: &mut [u8]) -> Result<()>

Source§

fn skip(&mut self, amount: u32) -> Result<()>

Source§

impl<T: AsRef<[u8]>> ReadBytes for Cursor<T>

Source§

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

Source§

fn read_u8_or_eof(&mut self) -> Result<Option<u8>>

Source§

fn read_into(&mut self, buffer: &mut [u8]) -> Result<()>

Source§

fn skip(&mut self, amount: u32) -> Result<()>

Implementors§