pub struct BitChunks<'a> {
buffer: &'a [u8],
bit_offset: usize,
chunk_len: usize,
remainder_len: usize,
}
Expand description
Iterates over an arbitrarily aligned byte buffer
Yields an iterator of u64, and a remainder. The first byte in the buffer will be the least significant byte in output u64
Fields§
§buffer: &'a [u8]
§bit_offset: usize
offset inside a byte, guaranteed to be between 0 and 7 (inclusive)
chunk_len: usize
number of complete u64 chunks
remainder_len: usize
number of remaining bits, guaranteed to be between 0 and 63 (inclusive)
Implementations§
Source§impl<'a> BitChunks<'a>
impl<'a> BitChunks<'a>
Sourcepub const fn remainder_len(&self) -> usize
pub const fn remainder_len(&self) -> usize
Returns the number of remaining bits, guaranteed to be between 0 and 63 (inclusive)
Sourcepub fn remainder_bits(&self) -> u64
pub fn remainder_bits(&self) -> u64
Returns the bitmask of remaining bits
Sourcepub const fn iter(&self) -> BitChunkIterator<'a> ⓘ
pub const fn iter(&self) -> BitChunkIterator<'a> ⓘ
Returns an iterator over chunks of 64 bits represented as an u64
Sourcepub fn iter_padded(&self) -> impl Iterator<Item = u64> + 'a
pub fn iter_padded(&self) -> impl Iterator<Item = u64> + 'a
Returns an iterator over chunks of 64 bits, with the remaining bits zero padded to 64-bits
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for BitChunks<'a>
impl<'a> RefUnwindSafe for BitChunks<'a>
impl<'a> Send for BitChunks<'a>
impl<'a> Sync for BitChunks<'a>
impl<'a> Unpin for BitChunks<'a>
impl<'a> UnwindSafe for BitChunks<'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