pub struct BitStream<'a> { /* private fields */ }Expand description
LSB-first bit reader over a borrowed byte slice.
Implementations§
Source§impl<'a> BitStream<'a>
impl<'a> BitStream<'a>
pub fn new(bytes: &'a [u8]) -> Self
Sourcepub fn read_bits(&mut self, n: u32) -> u64
pub fn read_bits(&mut self, n: u32) -> u64
Read up to 64 bits LSB-first. If the stream is exhausted, the remaining buffered bits are returned right-aligned and any further reads yield 0.
Each refill takes the next byte from the slice and shifts it into
the high end of the unread portion of the buffer (so the byte’s
LSB lands at position bits_in_buffer and the LSB of the whole
stream is the bit that comes out first).
Sourcepub fn bits_remaining(&self) -> u64
pub fn bits_remaining(&self) -> u64
Number of bits still available without consuming them.
Auto Trait Implementations§
impl<'a> Freeze for BitStream<'a>
impl<'a> RefUnwindSafe for BitStream<'a>
impl<'a> Send for BitStream<'a>
impl<'a> Sync for BitStream<'a>
impl<'a> Unpin for BitStream<'a>
impl<'a> UnsafeUnpin for BitStream<'a>
impl<'a> UnwindSafe for BitStream<'a>
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