pub struct BitsArray<'a, const N: usize> { /* private fields */ }Expand description
This struct wraps a provided borrowed static array in a MutBits impl. Operates like a slice, walking through the array filling it up.
Implementations§
source§impl<'a, const N: usize> BitsArray<'a, N>
impl<'a, const N: usize> BitsArray<'a, N>
Trait Implementations§
source§impl<'a, const N: usize> Bits for BitsArray<'a, N>
impl<'a, const N: usize> Bits for BitsArray<'a, N>
source§fn read_bool(&mut self) -> Result<bool, Error>
fn read_bool(&mut self) -> Result<bool, Error>
Reads a single bool (u8), returning true if 1, false if 0, or InvalidInput if anything else.
source§fn next_bool(&mut self) -> Result<Option<bool>, Error>
fn next_bool(&mut self) -> Result<Option<bool>, Error>
Reads a single bool (u8), returning true if 1, false if 0, or InvalidInput if anything else.
source§fn read_be_utf8_char(&mut self) -> Result<char, Error>
fn read_be_utf8_char(&mut self) -> Result<char, Error>
Reads 1, 2, 3, or 4 bytes to construct a UTF-8 charpoint.
source§fn read_be_u16(&mut self) -> Result<u16, Error>
fn read_be_u16(&mut self) -> Result<u16, Error>
Reads a single
u16 in big-endian order, 2 bytes, MSB first.source§fn read_le_u16(&mut self) -> Result<u16, Error>
fn read_le_u16(&mut self) -> Result<u16, Error>
Reads a single
u16 in little-endian order, 2 bytes, LSB first.source§fn next_be_u16(&mut self) -> Result<Option<u16>, Error>
fn next_be_u16(&mut self) -> Result<Option<u16>, Error>
Optionally reads a single
u16 in big-endian order, 2 bytes, MSB first.source§fn next_le_u16(&mut self) -> Result<Option<u16>, Error>
fn next_le_u16(&mut self) -> Result<Option<u16>, Error>
Optionally reads a single
u16 in little-endian order, 2 bytes, LSB first.source§fn read_be_u32(&mut self) -> Result<u32, Error>
fn read_be_u32(&mut self) -> Result<u32, Error>
Reads a single
u32 in big-endian order, 4 bytes, MSB first.source§fn read_le_u32(&mut self) -> Result<u32, Error>
fn read_le_u32(&mut self) -> Result<u32, Error>
Reads a single
u32 in little-endian order, 4 bytes, LSB first.source§fn next_be_u32(&mut self) -> Result<Option<u32>, Error>
fn next_be_u32(&mut self) -> Result<Option<u32>, Error>
Optionally reads a single
u32 in big-endian order, 4 bytes, MSB first.source§fn next_le_u32(&mut self) -> Result<Option<u32>, Error>
fn next_le_u32(&mut self) -> Result<Option<u32>, Error>
Optionally reads a single
u32 in little-endian order, 4 bytes, LSB first.source§fn read_be_u64(&mut self) -> Result<u64, Error>
fn read_be_u64(&mut self) -> Result<u64, Error>
Reads a single
u64 in big-endian order, 8 bytes, MSB first.source§fn read_le_u64(&mut self) -> Result<u64, Error>
fn read_le_u64(&mut self) -> Result<u64, Error>
Reads a single
u64 in big-endian order, 8 bytes, MSB first.source§fn next_be_u64(&mut self) -> Result<Option<u64>, Error>
fn next_be_u64(&mut self) -> Result<Option<u64>, Error>
Optionally reads a single
u64 in big-endian order, 8 bytes, MSB first.source§fn next_le_u64(&mut self) -> Result<Option<u64>, Error>
fn next_le_u64(&mut self) -> Result<Option<u64>, Error>
Optionally reads a single
u64 in little-endian order, 4 bytes, LSB first.source§fn read_be_u128(&mut self) -> Result<u128, Error>
fn read_be_u128(&mut self) -> Result<u128, Error>
Reads a single
u128 in big-endian order, 16 bytes, MSB first.source§fn next_be_u128(&mut self) -> Result<Option<u128>, Error>
fn next_be_u128(&mut self) -> Result<Option<u128>, Error>
Optionally reads a single
u128 in big-endian order, 16 bytes, MSB first.source§fn read_be_i128(&mut self) -> Result<i128, Error>
fn read_be_i128(&mut self) -> Result<i128, Error>
Reads a single
i128 in big-endian order, 16 bytes, MSB first.source§fn next_be_i128(&mut self) -> Result<Option<i128>, Error>
fn next_be_i128(&mut self) -> Result<Option<i128>, Error>
Optionally reads a single
i128 in big-endian order, 16 bytes, MSB first.source§fn read_f32(&mut self) -> Result<f32, Error>
fn read_f32(&mut self) -> Result<f32, Error>
Reads a single
f32, 4 bytes. Standard IEEE754 encodingsource§fn next_f32(&mut self) -> Result<Option<f32>, Error>
fn next_f32(&mut self) -> Result<Option<f32>, Error>
Optionally reads a single
f32, 4 bytes. Standard IEEE754 encodingsource§fn read_f64(&mut self) -> Result<f64, Error>
fn read_f64(&mut self) -> Result<f64, Error>
Reads a single
f64, 8 bytes. Standard IEEE754 encodingsource§fn next_f64(&mut self) -> Result<Option<f64>, Error>
fn next_f64(&mut self) -> Result<Option<f64>, Error>
Optionally reads a single
f64, 8 bytes. Standard IEEE754 encodingsource§fn read_be_i16(&mut self) -> Result<i16, Error>
fn read_be_i16(&mut self) -> Result<i16, Error>
Reads a single
i16 in big-endian order, 2 bytes, MSB first.source§fn read_le_i16(&mut self) -> Result<i16, Error>
fn read_le_i16(&mut self) -> Result<i16, Error>
Reads a single
i16 in little-endian order, 2 bytes, LSB first.source§fn next_be_i16(&mut self) -> Result<Option<i16>, Error>
fn next_be_i16(&mut self) -> Result<Option<i16>, Error>
Optionally reads a single
i16 in big-endian order, 2 bytes, MSB first.source§fn next_le_i16(&mut self) -> Result<Option<i16>, Error>
fn next_le_i16(&mut self) -> Result<Option<i16>, Error>
Optionally reads a single
i16 in little-endian order, 2 bytes, LSB first.source§fn read_be_i32(&mut self) -> Result<i32, Error>
fn read_be_i32(&mut self) -> Result<i32, Error>
Reads a single
i32 in big-endian order, 4 bytes, MSB first.source§fn read_le_i32(&mut self) -> Result<i32, Error>
fn read_le_i32(&mut self) -> Result<i32, Error>
Reads a single
i32 in little-endian order, 4 bytes, LSB first.source§fn next_be_i32(&mut self) -> Result<Option<i32>, Error>
fn next_be_i32(&mut self) -> Result<Option<i32>, Error>
Optionally reads a single
i32 in big-endian order, 4 bytes, MSB first.source§fn next_le_i32(&mut self) -> Result<Option<i32>, Error>
fn next_le_i32(&mut self) -> Result<Option<i32>, Error>
Optionally reads a single
i32 in little-endian order, 4 bytes,LSB first.source§fn read_be_i64(&mut self) -> Result<i64, Error>
fn read_be_i64(&mut self) -> Result<i64, Error>
Reads a single
i64 in big-endian order, 8 bytes, MSB first.source§fn read_le_i64(&mut self) -> Result<i64, Error>
fn read_le_i64(&mut self) -> Result<i64, Error>
Reads a single
i64 in little-endian order, 8 bytes, LSB first.source§fn next_be_i64(&mut self) -> Result<Option<i64>, Error>
fn next_be_i64(&mut self) -> Result<Option<i64>, Error>
Optionally reads a single
i64 in big-endian order, 8 bytes, MSB first.source§fn next_le_i64(&mut self) -> Result<Option<i64>, Error>
fn next_le_i64(&mut self) -> Result<Option<i64>, Error>
Optionally reads a single
i64 in little-endian order, 8 bytes, LSB first.source§fn advance(&mut self, len: usize) -> Result<usize, Error>
fn advance(&mut self, len: usize) -> Result<usize, Error>
Advances the stream by at most ‘len’ bytes. The actual amount of bytes advanced may be
less, and is returned in [
Ok(usize)]source§fn read_u8_blob(&mut self) -> Result<Vec<u8>, Error>
fn read_u8_blob(&mut self) -> Result<Vec<u8>, Error>
Available on crate feature
alloc only.Reads a sized blob, a series of bytes preceded by a
u8 declaring the size.source§fn read_be_u16_blob(&mut self) -> Result<Vec<u8>, Error>
fn read_be_u16_blob(&mut self) -> Result<Vec<u8>, Error>
Available on crate feature
alloc only.Reads a sized blob, a series of bytes preceded by a
u16 declaring the size.source§fn read_le_u16_blob(&mut self) -> Result<Vec<u8>, Error>
fn read_le_u16_blob(&mut self) -> Result<Vec<u8>, Error>
Available on crate feature
alloc only.Reads a sized blob, a series of bytes preceded by a
u16 declaring the size.source§fn read_be_u32_blob(&mut self) -> Result<Vec<u8>, Error>
fn read_be_u32_blob(&mut self) -> Result<Vec<u8>, Error>
Available on crate feature
alloc only.Reads a sized blob, a series of bytes preceded by a
u32 declaring the size.source§fn read_le_u32_blob(&mut self) -> Result<Vec<u8>, Error>
fn read_le_u32_blob(&mut self) -> Result<Vec<u8>, Error>
Available on crate feature
alloc only.Reads a sized blob, a series of bytes preceded by a
u32 declaring the size.source§fn read_be_u64_blob(&mut self) -> Result<Vec<u8>, Error>
fn read_be_u64_blob(&mut self) -> Result<Vec<u8>, Error>
Available on crate feature
alloc only.Reads a sized blob, a series of bytes preceded by a
u64 declaring the size.source§fn read_le_u64_blob(&mut self) -> Result<Vec<u8>, Error>
fn read_le_u64_blob(&mut self) -> Result<Vec<u8>, Error>
Available on crate feature
alloc only.Reads a sized blob, a series of bytes preceded by a
u64 declaring the size.source§fn read_exact_vec(&mut self, size: usize) -> Result<Vec<u8>, Error>
fn read_exact_vec(&mut self, size: usize) -> Result<Vec<u8>, Error>
Available on crate feature
alloc only.Reads the specified amount of bytes into a
Vec<u8> and returns itsource§fn read_all_str_lossy(&mut self) -> Result<String, Error>
fn read_all_str_lossy(&mut self) -> Result<String, Error>
Available on crate feature
alloc only.Reads the entire stream into a UTF-8 String, dropping all other bytes.
source§fn read_str_sized_lossy(&mut self, len: usize) -> Result<String, Error>
fn read_str_sized_lossy(&mut self, len: usize) -> Result<String, Error>
Available on crate feature
alloc only.Reads the specified amount of bytes into a UTF-8 String, dropping all other bytes.
source§fn read_all_vec(&mut self) -> Result<Vec<u8>, Error>
fn read_all_vec(&mut self) -> Result<Vec<u8>, Error>
Available on crate feature
alloc only.Reads to the end of the stream and returns the data as a
Vec<u8>source§fn read_until(&mut self, search: &[u8]) -> Result<Vec<u8>, Error>
fn read_until(&mut self, search: &[u8]) -> Result<Vec<u8>, Error>
Available on crate feature
alloc only.Reads from the input stream until: Read more
source§fn read_line_vec(&mut self) -> Result<Option<Vec<u8>>, Error>
fn read_line_vec(&mut self) -> Result<Option<Vec<u8>>, Error>
Available on crate feature
alloc only.Reads until the next
\n character, ignoring any \r characters along
the way.source§fn read_line_str_lossy(&mut self) -> Result<Option<String>, Error>
fn read_line_str_lossy(&mut self) -> Result<Option<String>, Error>
Available on crate feature
alloc only.Reads until the next
\n character, then calls String::from_utf8_lossy.source§fn read_line_str(&mut self) -> Result<Option<String>, Error>
fn read_line_str(&mut self) -> Result<Option<String>, Error>
Available on crate feature
alloc only.Reads until the next
\n character, then calls String::from_utf8source§fn consume_until(&mut self, search: &[u8]) -> Result<(), Error>
fn consume_until(&mut self, search: &[u8]) -> Result<(), Error>
Available on crate feature
alloc only.Consumes data from the input stream until: Read more
source§fn read_str_u32_blob(&mut self) -> Result<String, Error>
fn read_str_u32_blob(&mut self) -> Result<String, Error>
Available on crate feature
alloc only.Reads a specific sized string from the stream, a string prefixed by a
4-byte big-endian length.
source§fn read_exact<const N: usize>(&mut self) -> Result<[u8; N], Error>
fn read_exact<const N: usize>(&mut self) -> Result<[u8; N], Error>
Reads the specified amount of bytes into a stack-allocated array.
source§fn read_exact_into<T: MutBits>(
&mut self,
size: usize,
into: &mut T,
) -> Result<(), Error>
fn read_exact_into<T: MutBits>( &mut self, size: usize, into: &mut T, ) -> Result<(), Error>
Reads the specified amount of bytes into the specified target.
Auto Trait Implementations§
impl<'a, const N: usize> Freeze for BitsArray<'a, N>
impl<'a, const N: usize> RefUnwindSafe for BitsArray<'a, N>
impl<'a, const N: usize> Send for BitsArray<'a, N>
impl<'a, const N: usize> Sync for BitsArray<'a, N>
impl<'a, const N: usize> Unpin for BitsArray<'a, N>
impl<'a, const N: usize> UnwindSafe for BitsArray<'a, N>
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