pub struct ReadFromTail<'a, R>(pub &'a mut R)
where
R: TailReadBytes;
Expand description
Adapter which implements ReadBytes
for reading from the end of the buffer.
let buf = vec![11, 22, 33, 44, 55, 0, 1];
let mut reader = DeBytesReader::new(&buf);
assert_eq!(<u16>::from_reader(ReadFromTail(&mut reader), params::AscendingOrder).unwrap(), 1);
Tuple Fields§
§0: &'a mut R
Trait Implementations§
Source§impl<'a, R> ReadBytes for ReadFromTail<'a, R>where
R: TailReadBytes,
impl<'a, R> ReadBytes for ReadFromTail<'a, R>where
R: TailReadBytes,
Source§fn advance(&mut self, n: usize)
fn advance(&mut self, n: usize)
Advance buffer head by
n
bytes. n
should be smaller than remaining buffer size.Source§fn remaining_buffer(&mut self) -> &[u8] ⓘ
fn remaining_buffer(&mut self) -> &[u8] ⓘ
Returns view into remaining buffer
Source§fn read<F, R>(&mut self, n: usize, f: F) -> Result<R>
fn read<F, R>(&mut self, n: usize, f: F) -> Result<R>
Get
n
bytes from the beginning of buffer, advance by n
bytesSource§fn is_complete(&mut self) -> Result
fn is_complete(&mut self) -> Result
Check if buffer is fully consumed (empty)
Auto Trait Implementations§
impl<'a, R> Freeze for ReadFromTail<'a, R>
impl<'a, R> RefUnwindSafe for ReadFromTail<'a, R>where
R: RefUnwindSafe,
impl<'a, R> Send for ReadFromTail<'a, R>where
R: Send,
impl<'a, R> Sync for ReadFromTail<'a, R>where
R: Sync,
impl<'a, R> Unpin for ReadFromTail<'a, R>
impl<'a, R> !UnwindSafe for ReadFromTail<'a, R>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more