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<V: BitReadable>(&mut self) -> Result<V>
[src]
Reads a value.
fn read_using<V, C>(&mut self, converter: &C) -> Result<V> where
C: BitRead<V>,
[src]
C: BitRead<V>,
Reads a value using a converter.
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.