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", so this trait is not object safe.