Skip to main content

ReadBytes

Trait ReadBytes 

Source
pub trait ReadBytes<'a> {
Show 14 methods // Required methods fn read_bytes(&mut self, len: usize) -> Result<&'a [u8]>; fn read_rest(&mut self) -> &'a [u8] ⓘ; // Provided methods fn read_u8(&mut self) -> Result<u8> { ... } fn read_u16(&mut self) -> Result<u16> { ... } fn read_u32(&mut self) -> Result<u32> { ... } fn read_u64(&mut self) -> Result<u64> { ... } fn read_i32(&mut self) -> Result<i32> { ... } fn read_i64(&mut self) -> Result<i64> { ... } fn read_f32(&mut self) -> Result<f32> { ... } fn read_f64(&mut self) -> Result<f64> { ... } fn repeat_by_u16<T>( &mut self, fun: impl FnMut(&mut Self) -> Result<T>, ) -> Result<Vec<T>> where Self: Sized { ... } fn repeat_by_u8<T>( &mut self, fun: impl FnMut(&mut Self) -> Result<T>, ) -> Result<Vec<T>> where Self: Sized { ... } fn read_indices(&mut self) -> Result<Vec<CpIndex>> where Self: Sized { ... } fn read_optional_index(&mut self) -> Result<Option<CpIndex>> { ... }
}
Expand description

Big-endian reading primitives shared by every parser in this crate.

Required Methods§

Source

fn read_bytes(&mut self, len: usize) -> Result<&'a [u8]>

Consumes exactly len bytes, or fails with Error::UnexpectedEof.

Source

fn read_rest(&mut self) -> &'a [u8] ⓘ

Consumes and returns everything that is left.

Provided Methods§

Source

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

Reads a big-endian value, advancing past it.

Source

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

Reads a big-endian value, advancing past it.

Source

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

Reads a big-endian value, advancing past it.

Source

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

Reads a big-endian value, advancing past it.

Source

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

Reads a big-endian value, advancing past it.

Source

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

Reads a big-endian value, advancing past it.

Source

fn read_f32(&mut self) -> Result<f32>

Reads an IEEE 754 single-precision float.

Source

fn read_f64(&mut self) -> Result<f64>

Reads an IEEE 754 double-precision float.

Source

fn repeat_by_u16<T>( &mut self, fun: impl FnMut(&mut Self) -> Result<T>, ) -> Result<Vec<T>>
where Self: Sized,

Reads a u16 count, then applies fun that many times.

Source

fn repeat_by_u8<T>( &mut self, fun: impl FnMut(&mut Self) -> Result<T>, ) -> Result<Vec<T>>
where Self: Sized,

Reads a u8 count, then applies fun that many times.

Source

fn read_indices(&mut self) -> Result<Vec<CpIndex>>
where Self: Sized,

Reads a u16-prefixed list of constant pool indices.

Source

fn read_optional_index(&mut self) -> Result<Option<CpIndex>>

Reads a constant pool index where 0 means “absent”.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<'a> ReadBytes<'a> for Cursor<'a>