bit_manager 0.2.0

A crate for reading and writing bits from various streams
Documentation

A crate for reading and writing bits from various streams

Writing

extern crate bit_manager;
use bit_manager::BitWriter;

# fn main() {
let mut writer = BitWriter::new(Vec::new());

writer.write_bits(&[false, true, false, false, true, false, false, false]).unwrap();
writer.write(b'i').unwrap();

assert_eq!(writer.into_inner().unwrap(), b"Hi");
# }

Reading

extern crate bit_manager;
use bit_manager::BitReader;

# fn main() {
let mut reader = BitReader::new(&b"Hi"[..]);
let mut h = [false; 8];

reader.read_bits(&mut h).unwrap();

assert_eq!(h, [false, true, false, false, true, false, false, false]);
assert_eq!(reader.read_byte().unwrap(), b'i');
# }