pub trait Reader<'de> {
type Error: Error;
// Required methods
fn skip(&mut self, n: usize) -> Result<(), Self::Error>;
fn read_bytes<V>(&mut self, n: usize, visitor: V) -> Result<V::Ok, V::Error>
where V: ValueVisitor<'de, Target = [u8], Error = Self::Error>;
// Provided methods
fn read(&mut self, buf: &mut [u8]) -> Result<(), Self::Error> { ... }
fn read_byte(&mut self) -> Result<u8, Self::Error> { ... }
fn read_array<const N: usize>(&mut self) -> Result<[u8; N], Self::Error> { ... }
fn with_position(self) -> WithPosition<Self>
where Self: Sized { ... }
fn limit(self, limit: usize) -> Limit<Self>
where Self: Sized { ... }
}Expand description
Trait governing how a source of bytes is read.
This requires the reader to be able to hand out contiguous references to the byte source through Reader::read_bytes.
Required Associated Types§
Required Methods§
Provided Methods§
Sourcefn read(&mut self, buf: &mut [u8]) -> Result<(), Self::Error>
fn read(&mut self, buf: &mut [u8]) -> Result<(), Self::Error>
Read a slice into the given buffer.
Sourcefn read_array<const N: usize>(&mut self) -> Result<[u8; N], Self::Error>
fn read_array<const N: usize>(&mut self) -> Result<[u8; N], Self::Error>
Read an array out of the current reader.
Sourcefn with_position(self) -> WithPosition<Self>where
Self: Sized,
fn with_position(self) -> WithPosition<Self>where
Self: Sized,
Keep an accurate record of the position within the reader.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".