[][src]Function bitrw::use_bit_write_mem

pub fn use_bit_write_mem(
    f: &mut dyn Fn(&mut BitWrite) -> Result<()>
) -> Result<Vec<u8>>

Creates a BitWrite object in memory and pass it to the given scope function f.

let v = bitrw::use_bit_write_mem(&mut |w| {
    w.write(0_u8, 0)?; //  0
    w.write(1_u16, 1)?; //  1
    w.write(2_u32, 2)?; //  3
    w.write(3_u64, 3)?; //  6
    w.write(4_u128, 4)?; // 10
    w.write(5_usize, 5)?; // 15
    w.write(6_u8, 6)?; // 21
    w.write(0xFFFF_u16, 12)?; // 33
    Ok(())
});
assert_eq!(v.ok(), Some(vec![0b00_011_10_1, 0b0_00101_01, 0b111_00011, 0b11111111, 0b1]));
let v = bitrw::use_bit_write_mem(&mut |w| {
    w.write_u8(0x4A, 8)?;
    Ok(())
});
assert_eq!(v.ok(), Some(vec![0x4A]));