Struct bitbuffer::BitWriteStream [−][src]
pub struct BitWriteStream<'a, E> where
E: Endianness, { /* fields omitted */ }Expand description
Stream that provides an a way to write non bit aligned adata
Examples
use bitbuffer::{BitWriteStream, LittleEndian}; let mut data = Vec::new(); let mut stream = BitWriteStream::new(&mut data, LittleEndian); stream.write_bool(false)?; stream.write_int(123u16, 15)?;
Implementations
Write a boolean into the buffer
Examples
let mut data = Vec::new(); let mut stream = BitWriteStream::new(&mut data, LittleEndian); stream.write_bool(true)?;
Write an integer into the buffer
Examples
let mut data = Vec::new(); let mut stream = BitWriteStream::new(&mut data, LittleEndian); stream.write_int(123u16, 15)?;
pub fn write_float<T>(&mut self, value: T) -> Result<()> where
T: Float + UncheckedPrimitiveFloat,
pub fn write_float<T>(&mut self, value: T) -> Result<()> where
T: Float + UncheckedPrimitiveFloat, Write a float into the buffer
Examples
let mut data = Vec::new(); let mut stream = BitWriteStream::new(&mut data, LittleEndian); stream.write_float(123.15f32)?;
Write a number of bytes into the buffer
Examples
let mut data = Vec::new(); let mut stream = BitWriteStream::new(&mut data, LittleEndian); stream.write_bytes(&[0, 1, 2 ,3])?;
Write bits from a read stream into the buffer
Write a string into the buffer
Examples
let mut data = Vec::new(); let mut stream = BitWriteStream::new(&mut data, LittleEndian); stream.write_string("zero terminated string", None)?; stream.write_string("fixed size string, zero padded", Some(64))?;
Write the type to stream
pub fn reserve<Err, F: Fn(&mut BitWriteStream<'_, E>, &mut BitWriteStream<'_, E>) -> Result<(), Err>>(
&mut self,
count: usize,
body_fn: F
) -> Result<(), Err>
pub fn reserve<Err, F: Fn(&mut BitWriteStream<'_, E>, &mut BitWriteStream<'_, E>) -> Result<(), Err>>(
&mut self,
count: usize,
body_fn: F
) -> Result<(), Err>Reserve some bits to be written later by splitting of two parts
This allows skipping a few bits to write later
Write the length of a section before the section
Auto Trait Implementations
impl<'a, E> RefUnwindSafe for BitWriteStream<'a, E> where
E: RefUnwindSafe, impl<'a, E> !Send for BitWriteStream<'a, E>impl<'a, E> !Sync for BitWriteStream<'a, E>impl<'a, E> Unpin for BitWriteStream<'a, E> where
E: Unpin, impl<'a, E> !UnwindSafe for BitWriteStream<'a, E>