pub trait Read {
    // Required method
    fn read(&mut self, buf: &mut [u8]) -> ParseResult<usize>;

    // Provided methods
    fn read_exact(&mut self, buf: &mut [u8]) -> ParseResult<()> { ... }
    fn read_u64(&mut self) -> ParseResult<u64> { ... }
    fn read_u32(&mut self) -> ParseResult<u32> { ... }
    fn read_u16(&mut self) -> ParseResult<u16> { ... }
    fn read_u8(&mut self) -> ParseResult<u8> { ... }
    fn read_i64(&mut self) -> ParseResult<i64> { ... }
    fn read_i32(&mut self) -> ParseResult<i32> { ... }
    fn read_i16(&mut self) -> ParseResult<i16> { ... }
    fn read_i8(&mut self) -> ParseResult<i8> { ... }
    fn read_array<const N: usize>(&mut self) -> ParseResult<[u8; N]> { ... }
}
Expand description

The Read trait provides a means of reading from byte streams.

Required Methods§

source

fn read(&mut self, buf: &mut [u8]) -> ParseResult<usize>

Read a number of bytes into the provided buffer. The returned value is Ok(n) if a read was successful, and n bytes were read (n could be 0).

Provided Methods§

source

fn read_exact(&mut self, buf: &mut [u8]) -> ParseResult<()>

Read exactly the required number of bytes. If not enough bytes could be read the function returns Err(_), and the contents of the given buffer is unspecified.

source

fn read_u64(&mut self) -> ParseResult<u64>

Read a u64 in little-endian format.

source

fn read_u32(&mut self) -> ParseResult<u32>

Read a u32 in little-endian format.

source

fn read_u16(&mut self) -> ParseResult<u16>

Read a u16 in little-endian format.

source

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

Read a u8.

source

fn read_i64(&mut self) -> ParseResult<i64>

Read a i64 in little-endian format.

source

fn read_i32(&mut self) -> ParseResult<i32>

Read a i32 in little-endian format.

source

fn read_i16(&mut self) -> ParseResult<i16>

Read a i16 in little-endian format.

source

fn read_i8(&mut self) -> ParseResult<i8>

Read a i32 in little-endian format.

source

fn read_array<const N: usize>(&mut self) -> ParseResult<[u8; N]>

Load an array of the given size.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'a, 'b, T: Read, U: Read> Read for Chain<&'a mut T, &'b mut U>

source§

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