Trait bitcode_lightyear_patch::read::Read
source · pub trait Read {
// Required methods
fn advance(&mut self, bits: usize);
fn peek_bits(&mut self) -> Result<Word>;
fn read_bit(&mut self) -> Result<bool>;
fn read_bits(&mut self, bits: usize) -> Result<Word>;
fn read_bytes(&mut self, len: NonZeroUsize) -> Result<&[u8]>;
fn reserve_bits(&self, bits: usize) -> Result<()>;
}
Expand description
Abstracts over reading bits from a buffer.
Required Methods§
sourcefn peek_bits(&mut self) -> Result<Word>
fn peek_bits(&mut self) -> Result<Word>
Peeks 64 bits without reading them. Bits after EOF are zeroed.
fn read_bit(&mut self) -> Result<bool>
sourcefn read_bits(&mut self, bits: usize) -> Result<Word>
fn read_bits(&mut self, bits: usize) -> Result<Word>
Reads up to 64 bits. bits
must be in range 1..=64
.
sourcefn read_bytes(&mut self, len: NonZeroUsize) -> Result<&[u8]>
fn read_bytes(&mut self, len: NonZeroUsize) -> Result<&[u8]>
Reads len
bytes.
sourcefn reserve_bits(&self, bits: usize) -> Result<()>
fn reserve_bits(&self, bits: usize) -> Result<()>
Ensures that at least bits
remain. Never underreports remaining bits.