pub struct FixedBuf<const N: usize, T: Sized> { /* private fields */ }Expand description
Fixed length stack allocated buffer. Basically a stack-allocated std::vec::Vec
Implementations§
Source§impl<const N: usize, T: Sized + Default + Copy> FixedBuf<N, T>
impl<const N: usize, T: Sized + Default + Copy> FixedBuf<N, T>
pub fn into_buf_default(&mut self) -> [T; N]
Trait Implementations§
Source§impl<const N: usize, T: Sized> Buffer<T> for FixedBuf<N, T>
impl<const N: usize, T: Sized> Buffer<T> for FixedBuf<N, T>
fn get(&self, index: usize) -> Option<&T>
fn get_mut(&mut self, index: usize) -> Option<&mut T>
fn capacity(&self) -> usize
fn len(&self) -> usize
fn clear(&mut self)
fn front(&self) -> Option<&T>
fn front_mut(&mut self) -> Option<&mut T>
fn back(&self) -> Option<&T>
fn back_mut(&mut self) -> Option<&mut T>
fn pop_front(&mut self) -> Option<T>
fn pop_back(&mut self) -> Option<T>
fn push_front(&mut self, value: T) -> Result<(), T>
fn push_back(&mut self, value: T) -> Result<(), T>
fn push(&mut self, value: T) -> Result<(), T>
fn is_empty(&self) -> bool
fn is_full(&self) -> bool
Source§impl<const N: usize> MutBits for &mut FixedBuf<N, u8>
impl<const N: usize> MutBits for &mut FixedBuf<N, u8>
Source§fn write_be_utf8_char(&mut self, val: char) -> Result<usize, BitsError>
fn write_be_utf8_char(&mut self, val: char) -> Result<usize, BitsError>
Encodes the character as UTF-8, and writes anywhere from 1-4 bytes. The number of bytes
written is returned.
Source§fn write_be_u16(&mut self, val: u16) -> Result<(), BitsError>
fn write_be_u16(&mut self, val: u16) -> Result<(), BitsError>
Writes a single
u16 in big-endian order, 2 bytes, MSB first.Source§fn write_le_u16(&mut self, val: u16) -> Result<(), BitsError>
fn write_le_u16(&mut self, val: u16) -> Result<(), BitsError>
Writes a single
u16 in little-endian order, 2 bytes, LSB first.Source§fn write_be_u32(&mut self, val: u32) -> Result<(), BitsError>
fn write_be_u32(&mut self, val: u32) -> Result<(), BitsError>
Writes a single
u32 in big-endian order, 4 bytes, MSB first.Source§fn write_le_u32(&mut self, val: u32) -> Result<(), BitsError>
fn write_le_u32(&mut self, val: u32) -> Result<(), BitsError>
Writes a single
u32 in little-endian order, 4 bytes, LSB first.Source§fn write_be_u64(&mut self, val: u64) -> Result<(), BitsError>
fn write_be_u64(&mut self, val: u64) -> Result<(), BitsError>
Writes a single
u64 in big-endian order, 8 bytes, MSB first.Source§fn write_le_u64(&mut self, val: u64) -> Result<(), BitsError>
fn write_le_u64(&mut self, val: u64) -> Result<(), BitsError>
Writes a single
u64 in little-endian order, 8 bytes, LSB first.Source§fn write_be_u128(&mut self, val: u128) -> Result<(), BitsError>
fn write_be_u128(&mut self, val: u128) -> Result<(), BitsError>
Writes a single
u128 in big-endian order, 16 bytes, MSB first.Source§fn write_le_u128(&mut self, val: u128) -> Result<(), BitsError>
fn write_le_u128(&mut self, val: u128) -> Result<(), BitsError>
Writes a single
u128 in little-endian order, 16 bytes, LSB first.Source§fn write_be_f32(&mut self, val: f32) -> Result<(), BitsError>
fn write_be_f32(&mut self, val: f32) -> Result<(), BitsError>
Writes a single
f32 in standard IEEE754 format, 4 bytesSource§fn write_le_f32(&mut self, val: f32) -> Result<(), BitsError>
fn write_le_f32(&mut self, val: f32) -> Result<(), BitsError>
Writes a single
f32 in reversed IEEE754 format, 4 bytesSource§fn write_be_f64(&mut self, val: f64) -> Result<(), BitsError>
fn write_be_f64(&mut self, val: f64) -> Result<(), BitsError>
Writes a single
u16 in standard IEEE754 format, 8 bytesSource§fn write_le_f64(&mut self, val: f64) -> Result<(), BitsError>
fn write_le_f64(&mut self, val: f64) -> Result<(), BitsError>
Writes a single
u16 in reversed IEEE754 format, 8 bytesSource§fn write_be_i16(&mut self, val: i16) -> Result<(), BitsError>
fn write_be_i16(&mut self, val: i16) -> Result<(), BitsError>
Writes a single
i16 in big-endian order, 2 bytes, MSB first.Source§fn write_le_i16(&mut self, val: i16) -> Result<(), BitsError>
fn write_le_i16(&mut self, val: i16) -> Result<(), BitsError>
Writes a single
i16 in little-endian order, 2 bytes, LSB first.Source§fn write_be_i32(&mut self, val: i32) -> Result<(), BitsError>
fn write_be_i32(&mut self, val: i32) -> Result<(), BitsError>
Writes a single
i32 in big-endian order, 4 bytes, MSB first.Source§fn write_le_i32(&mut self, val: i32) -> Result<(), BitsError>
fn write_le_i32(&mut self, val: i32) -> Result<(), BitsError>
Writes a single
i32 in little-endian order, 4 bytes, LSB first.Source§fn write_be_i64(&mut self, val: i64) -> Result<(), BitsError>
fn write_be_i64(&mut self, val: i64) -> Result<(), BitsError>
Writes a single
i64 in big-endian order, 8 bytes, MSB first.Source§fn write_le_i64(&mut self, val: i64) -> Result<(), BitsError>
fn write_le_i64(&mut self, val: i64) -> Result<(), BitsError>
Writes a single
i64 in little-endian order, 8 bytes, LSB first.Source§fn write_be_i128(&mut self, val: i128) -> Result<(), BitsError>
fn write_be_i128(&mut self, val: i128) -> Result<(), BitsError>
Writes a single
i128 in big-endian order, 16 bytes, MSB first.Source§fn write_le_i128(&mut self, val: i128) -> Result<(), BitsError>
fn write_le_i128(&mut self, val: i128) -> Result<(), BitsError>
Writes a single
i128 in little-endian order, 16 bytes, LSB first.Source§fn write_u8_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_u8_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u8 declaring the sizeSource§fn write_be_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_be_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u16 declaring the sizeSource§fn write_le_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_le_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u16 declaring the sizeSource§fn write_be_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_be_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u32 declaring the sizeSource§fn write_le_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_le_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u32 declaring the sizeSource§fn write_be_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_be_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u64 declaring the sizeSource§fn write_le_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_le_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u64 declaring the sizeSource§fn write_all_bytes(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_all_bytes(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes all the bytes in order
Source§fn write_fmt_impl(&mut self, args: Arguments<'_>) -> Result<(), BitsError>
fn write_fmt_impl(&mut self, args: Arguments<'_>) -> Result<(), BitsError>
Allows the use of
core::format_args macroSource§fn write_some_bytes(&mut self, val: &[u8]) -> usize
fn write_some_bytes(&mut self, val: &[u8]) -> usize
Writes some subset of bytes until either the input is exhausted, or the
underlying buffer fills up or errors. Returns the total number of bytes
written
Source§fn write_str_u32_blob(&mut self, val: &str) -> Result<usize, BitsError>
fn write_str_u32_blob(&mut self, val: &str) -> Result<usize, BitsError>
Writes a specific sized string from the stream, a string prefixed by a
4-byte big-endian length.
Source§fn write_exact(&mut self, val: &[u8], len: usize) -> Result<(), BitsError>
fn write_exact(&mut self, val: &[u8], len: usize) -> Result<(), BitsError>
Writes the exact amount of bytes from the input buffer to the output stream
Returns an error if the buffer doesn’t have enough values or if the
output stream errors.
Source§impl<const N: usize> MutBits for FixedBuf<N, u8>
impl<const N: usize> MutBits for FixedBuf<N, u8>
Source§fn write_be_utf8_char(&mut self, val: char) -> Result<usize, BitsError>
fn write_be_utf8_char(&mut self, val: char) -> Result<usize, BitsError>
Encodes the character as UTF-8, and writes anywhere from 1-4 bytes. The number of bytes
written is returned.
Source§fn write_be_u16(&mut self, val: u16) -> Result<(), BitsError>
fn write_be_u16(&mut self, val: u16) -> Result<(), BitsError>
Writes a single
u16 in big-endian order, 2 bytes, MSB first.Source§fn write_le_u16(&mut self, val: u16) -> Result<(), BitsError>
fn write_le_u16(&mut self, val: u16) -> Result<(), BitsError>
Writes a single
u16 in little-endian order, 2 bytes, LSB first.Source§fn write_be_u32(&mut self, val: u32) -> Result<(), BitsError>
fn write_be_u32(&mut self, val: u32) -> Result<(), BitsError>
Writes a single
u32 in big-endian order, 4 bytes, MSB first.Source§fn write_le_u32(&mut self, val: u32) -> Result<(), BitsError>
fn write_le_u32(&mut self, val: u32) -> Result<(), BitsError>
Writes a single
u32 in little-endian order, 4 bytes, LSB first.Source§fn write_be_u64(&mut self, val: u64) -> Result<(), BitsError>
fn write_be_u64(&mut self, val: u64) -> Result<(), BitsError>
Writes a single
u64 in big-endian order, 8 bytes, MSB first.Source§fn write_le_u64(&mut self, val: u64) -> Result<(), BitsError>
fn write_le_u64(&mut self, val: u64) -> Result<(), BitsError>
Writes a single
u64 in little-endian order, 8 bytes, LSB first.Source§fn write_be_u128(&mut self, val: u128) -> Result<(), BitsError>
fn write_be_u128(&mut self, val: u128) -> Result<(), BitsError>
Writes a single
u128 in big-endian order, 16 bytes, MSB first.Source§fn write_le_u128(&mut self, val: u128) -> Result<(), BitsError>
fn write_le_u128(&mut self, val: u128) -> Result<(), BitsError>
Writes a single
u128 in little-endian order, 16 bytes, LSB first.Source§fn write_be_f32(&mut self, val: f32) -> Result<(), BitsError>
fn write_be_f32(&mut self, val: f32) -> Result<(), BitsError>
Writes a single
f32 in standard IEEE754 format, 4 bytesSource§fn write_le_f32(&mut self, val: f32) -> Result<(), BitsError>
fn write_le_f32(&mut self, val: f32) -> Result<(), BitsError>
Writes a single
f32 in reversed IEEE754 format, 4 bytesSource§fn write_be_f64(&mut self, val: f64) -> Result<(), BitsError>
fn write_be_f64(&mut self, val: f64) -> Result<(), BitsError>
Writes a single
u16 in standard IEEE754 format, 8 bytesSource§fn write_le_f64(&mut self, val: f64) -> Result<(), BitsError>
fn write_le_f64(&mut self, val: f64) -> Result<(), BitsError>
Writes a single
u16 in reversed IEEE754 format, 8 bytesSource§fn write_be_i16(&mut self, val: i16) -> Result<(), BitsError>
fn write_be_i16(&mut self, val: i16) -> Result<(), BitsError>
Writes a single
i16 in big-endian order, 2 bytes, MSB first.Source§fn write_le_i16(&mut self, val: i16) -> Result<(), BitsError>
fn write_le_i16(&mut self, val: i16) -> Result<(), BitsError>
Writes a single
i16 in little-endian order, 2 bytes, LSB first.Source§fn write_be_i32(&mut self, val: i32) -> Result<(), BitsError>
fn write_be_i32(&mut self, val: i32) -> Result<(), BitsError>
Writes a single
i32 in big-endian order, 4 bytes, MSB first.Source§fn write_le_i32(&mut self, val: i32) -> Result<(), BitsError>
fn write_le_i32(&mut self, val: i32) -> Result<(), BitsError>
Writes a single
i32 in little-endian order, 4 bytes, LSB first.Source§fn write_be_i64(&mut self, val: i64) -> Result<(), BitsError>
fn write_be_i64(&mut self, val: i64) -> Result<(), BitsError>
Writes a single
i64 in big-endian order, 8 bytes, MSB first.Source§fn write_le_i64(&mut self, val: i64) -> Result<(), BitsError>
fn write_le_i64(&mut self, val: i64) -> Result<(), BitsError>
Writes a single
i64 in little-endian order, 8 bytes, LSB first.Source§fn write_be_i128(&mut self, val: i128) -> Result<(), BitsError>
fn write_be_i128(&mut self, val: i128) -> Result<(), BitsError>
Writes a single
i128 in big-endian order, 16 bytes, MSB first.Source§fn write_le_i128(&mut self, val: i128) -> Result<(), BitsError>
fn write_le_i128(&mut self, val: i128) -> Result<(), BitsError>
Writes a single
i128 in little-endian order, 16 bytes, LSB first.Source§fn write_u8_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_u8_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u8 declaring the sizeSource§fn write_be_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_be_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u16 declaring the sizeSource§fn write_le_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_le_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u16 declaring the sizeSource§fn write_be_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_be_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u32 declaring the sizeSource§fn write_le_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_le_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u32 declaring the sizeSource§fn write_be_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_be_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u64 declaring the sizeSource§fn write_le_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_le_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes a sized blob, a series of bytes preceded by a
u64 declaring the sizeSource§fn write_all_bytes(&mut self, val: &[u8]) -> Result<(), BitsError>
fn write_all_bytes(&mut self, val: &[u8]) -> Result<(), BitsError>
Writes all the bytes in order
Source§fn write_fmt_impl(&mut self, args: Arguments<'_>) -> Result<(), BitsError>
fn write_fmt_impl(&mut self, args: Arguments<'_>) -> Result<(), BitsError>
Allows the use of
core::format_args macroSource§fn write_some_bytes(&mut self, val: &[u8]) -> usize
fn write_some_bytes(&mut self, val: &[u8]) -> usize
Writes some subset of bytes until either the input is exhausted, or the
underlying buffer fills up or errors. Returns the total number of bytes
written
Source§fn write_str_u32_blob(&mut self, val: &str) -> Result<usize, BitsError>
fn write_str_u32_blob(&mut self, val: &str) -> Result<usize, BitsError>
Writes a specific sized string from the stream, a string prefixed by a
4-byte big-endian length.
Source§fn write_exact(&mut self, val: &[u8], len: usize) -> Result<(), BitsError>
fn write_exact(&mut self, val: &[u8], len: usize) -> Result<(), BitsError>
Writes the exact amount of bytes from the input buffer to the output stream
Returns an error if the buffer doesn’t have enough values or if the
output stream errors.
Source§impl<const N: usize> Write for FixedBuf<N, char>
impl<const N: usize> Write for FixedBuf<N, char>
Auto Trait Implementations§
impl<const N: usize, T> Freeze for FixedBuf<N, T>where
T: Freeze,
impl<const N: usize, T> RefUnwindSafe for FixedBuf<N, T>where
T: RefUnwindSafe,
impl<const N: usize, T> Send for FixedBuf<N, T>where
T: Send,
impl<const N: usize, T> Sync for FixedBuf<N, T>where
T: Sync,
impl<const N: usize, T> Unpin for FixedBuf<N, T>where
T: Unpin,
impl<const N: usize, T> UnwindSafe for FixedBuf<N, T>where
T: UnwindSafe,
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