Crate bit_manager [] [src]

A crate for reading and writing bits from various streams

Writing

extern crate bit_manager;
use bit_manager::BitWriter;

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;

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');

Modules

conversions

Provides converters for reading and writing values using stucts

prelude

The bit manager prelude

Structs

BitBuffer

A buffer that stores up to 64 bits and remembers how many are being stored

BitReader

A wrapper for any type implementing io::Read that allows the reading of individual bits

BitWriter

A wrapper for any type implementing io::Write that allows the writing of individual bits

Enums

Error

An enum for possible errors when reading and writing bits

Precision

An enum that represents how a stream is terminated

Traits

BitReadable

A trait for reading a value

BitWritable

A trait for writing a value

Type Definitions

Result

A specialized Result type for bit I/O operations