Trait MutBits

Source
pub trait MutBits {
Show 37 methods // Required method fn write_u8(&mut self, val: u8) -> Result<(), BitsError>; // Provided methods fn write_i8(&mut self, val: i8) -> Result<(), BitsError> { ... } fn write_bool(&mut self, val: bool) -> Result<(), BitsError> { ... } fn write_be_utf8_char(&mut self, val: char) -> Result<usize, BitsError> { ... } fn write_be_u16(&mut self, val: u16) -> Result<(), BitsError> { ... } fn write_le_u16(&mut self, val: u16) -> Result<(), BitsError> { ... } fn write_be_u32(&mut self, val: u32) -> Result<(), BitsError> { ... } fn write_le_u32(&mut self, val: u32) -> Result<(), BitsError> { ... } fn write_be_u64(&mut self, val: u64) -> Result<(), BitsError> { ... } fn write_le_u64(&mut self, val: u64) -> Result<(), BitsError> { ... } fn write_be_u128(&mut self, val: u128) -> Result<(), BitsError> { ... } fn write_le_u128(&mut self, val: u128) -> Result<(), BitsError> { ... } fn write_be_f32(&mut self, val: f32) -> Result<(), BitsError> { ... } fn write_le_f32(&mut self, val: f32) -> Result<(), BitsError> { ... } fn write_be_f64(&mut self, val: f64) -> Result<(), BitsError> { ... } fn write_le_f64(&mut self, val: f64) -> Result<(), BitsError> { ... } fn write_be_i16(&mut self, val: i16) -> Result<(), BitsError> { ... } fn write_le_i16(&mut self, val: i16) -> Result<(), BitsError> { ... } fn write_be_i32(&mut self, val: i32) -> Result<(), BitsError> { ... } fn write_le_i32(&mut self, val: i32) -> Result<(), BitsError> { ... } fn write_be_i64(&mut self, val: i64) -> Result<(), BitsError> { ... } fn write_le_i64(&mut self, val: i64) -> Result<(), BitsError> { ... } fn write_be_i128(&mut self, val: i128) -> Result<(), BitsError> { ... } fn write_le_i128(&mut self, val: i128) -> Result<(), BitsError> { ... } fn write_u8_blob(&mut self, val: &[u8]) -> Result<(), BitsError> { ... } fn write_be_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError> { ... } fn write_le_u16_blob(&mut self, val: &[u8]) -> Result<(), BitsError> { ... } fn write_be_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError> { ... } fn write_le_u32_blob(&mut self, val: &[u8]) -> Result<(), BitsError> { ... } fn write_be_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError> { ... } fn write_le_u64_blob(&mut self, val: &[u8]) -> Result<(), BitsError> { ... } fn write_all_bytes(&mut self, val: &[u8]) -> Result<(), BitsError> { ... } fn write_some_bytes(&mut self, val: &[u8]) -> usize { ... } fn write_str_u32_blob(&mut self, val: &str) -> Result<usize, BitsError> { ... } fn write_exact(&mut self, val: &[u8], len: usize) -> Result<(), BitsError> { ... } fn write_all_into_self_from<T>( &mut self, other: &mut T, ) -> Result<u64, BitsError> where T: Bits { ... } fn flush(&mut self) -> Result<(), BitsError> { ... }
}
Expand description

Write methods for the primitive types

Required Methods§

Source

fn write_u8(&mut self, val: u8) -> Result<(), BitsError>

Writes a single u8

Provided Methods§

Source

fn write_i8(&mut self, val: i8) -> Result<(), BitsError>

Writes a single i8

Source

fn write_bool(&mut self, val: bool) -> Result<(), BitsError>

Writes 1u8 if true, 0u8 if false

Source

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>

Writes a single u16 in big-endian order, 2 bytes, MSB first.

Source

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>

Writes a single u32 in big-endian order, 4 bytes, MSB first.

Source

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>

Writes a single u64 in big-endian order, 8 bytes, MSB first.

Source

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>

Writes a single u128 in big-endian order, 16 bytes, MSB first.

Source

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>

Writes a single f32 in standard IEEE754 format, 4 bytes

Source

fn write_le_f32(&mut self, val: f32) -> Result<(), BitsError>

Writes a single f32 in reversed IEEE754 format, 4 bytes

Source

fn write_be_f64(&mut self, val: f64) -> Result<(), BitsError>

Writes a single u16 in standard IEEE754 format, 8 bytes

Source

fn write_le_f64(&mut self, val: f64) -> Result<(), BitsError>

Writes a single u16 in reversed IEEE754 format, 8 bytes

Source

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>

Writes a single i16 in little-endian order, 2 bytes, LSB first.

Source

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>

Writes a single i32 in little-endian order, 4 bytes, LSB first.

Source

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>

Writes a single i64 in little-endian order, 8 bytes, LSB first.

Source

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>

Writes a single i128 in little-endian order, 16 bytes, LSB first.

Source

fn write_u8_blob(&mut self, val: &[u8]) -> Result<(), BitsError>

Writes a sized blob, a series of bytes preceded by a u8 declaring the size

Source

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 size

Source

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 size

Source

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 size

Source

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 size

Source

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 size

Source

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 size

Source

fn write_all_bytes(&mut self, val: &[u8]) -> Result<(), BitsError>

Writes all the bytes in order

Source

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>

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>

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

fn write_all_into_self_from<T>( &mut self, other: &mut T, ) -> Result<u64, BitsError>
where T: Bits,

Copies all data from the other stream into this stream.

Source

fn flush(&mut self) -> Result<(), BitsError>

Flush all bytes out of the cache. Most impl’s won’t need this.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl MutBits for &mut [u8]

Source§

fn write_u8(&mut self, val: u8) -> Result<(), BitsError>

Implementors§

Source§

impl<'a, const N: usize> MutBits for MutBitsArray<'a, N>

Source§

impl<O1, O2> MutBits for Tee<O1, O2>
where O1: MutBits, O2: MutBits,