Struct bit_manager::BitReader
[−]
[src]
pub struct BitReader<T: Read> { /* fields omitted */ }
A wrapper for any type implementing io::Read that allows the reading of individual bits
Example
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');
Methods
impl<T: Read> BitReader<T>[src]
fn new(reader: T) -> BitReader<T>[src]
Creates a new bit reader with the given reader. Uses Precision::Byte by default.
fn new_with_precision(reader: T, precision: Precision) -> BitReader<T>[src]
Creates a new bit reader with the given reader and precision.
fn read_bit(&mut self) -> Result<bool>[src]
Reads a single bit.
fn read_bits(&mut self, buffer: &mut [bool]) -> Result<usize>[src]
Reads as many bits as possible into a buffer. Returns the number of bits read.
fn read_byte(&mut self) -> Result<u8>[src]
Reads a single byte.
fn read_bytes(&mut self, buffer: &mut [u8]) -> Result<usize>[src]
Reads as many bytes as possible into a buffer. Returns the number of bytes read.