pub struct Reader<'r> { /* private fields */ }Expand description
A bounds-checked cursor over one section’s bytes.
Implementations§
Source§impl<'r> Reader<'r>
impl<'r> Reader<'r>
pub fn new( section: &'static str, bytes: &'r [u8], strings: &'r StringTable, ) -> Self
pub fn position(&self) -> usize
pub fn remaining(&self) -> usize
pub fn malformed(&self, at: usize, reason: impl Into<String>) -> ModuleError
pub fn byte(&mut self) -> Result<u8, ModuleError>
pub fn bytes(&mut self, len: usize) -> Result<&'r [u8], ModuleError>
pub fn leb(&mut self) -> Result<u64, ModuleError>
pub fn zigzag(&mut self) -> Result<i64, ModuleError>
Sourcepub fn count(&mut self) -> Result<usize, ModuleError>
pub fn count(&mut self) -> Result<usize, ModuleError>
A count of elements, each of which takes at least one byte, so no more than remain.
pub fn string(&mut self) -> Result<&'r str, ModuleError>
Sourcepub fn finish(self) -> Result<(), ModuleError>
pub fn finish(self) -> Result<(), ModuleError>
Refuses bytes left after the last value.
Trait Implementations§
Auto Trait Implementations§
impl<'r> Freeze for Reader<'r>
impl<'r> RefUnwindSafe for Reader<'r>
impl<'r> Send for Reader<'r>
impl<'r> Sync for Reader<'r>
impl<'r> Unpin for Reader<'r>
impl<'r> UnsafeUnpin for Reader<'r>
impl<'r> UnwindSafe for Reader<'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