Struct bitstream_io::BitQueue[][src]

pub struct BitQueue<E: Endianness, N: Numeric> { /* fields omitted */ }

A queue for efficiently pushing bits onto a value and popping them off a value.

Methods

impl<E: Endianness, N: Numeric> BitQueue<E, N>
[src]

Returns a new empty queue

Creates a new queue from the given value with the given size Panics if the value is larger than the given number of bits.

Sets the queue to a given value with the given number of bits Panics if the value is larger than the given number of bits

Consumes the queue and returns its current value

Returns the total bits in the queue

Returns the maximum bits the queue can hold

Returns the remaining bits the queue can hold

Returns true if the queue is empty

Returns true if the queue is full

Drops all values in the queue

Returns true if all bits remaining in the queue are 0

Returns true if all bits remaining in the queue are 1

Pushes a value with the given number of bits onto the tail of the queue Panics if the number of bits pushed is larger than the queue can hold.

Pops a value with the given number of bits from the head of the queue Panics if the number of bits popped is larger than the number of bits in the queue.

Drops the given number of bits from the head of the queue without returning them. Panics if the number of bits dropped is larger than the number of bits in the queue.

Pops all 0 bits up to and including the next 1 bit and returns the amount of 0 bits popped

Pops all 1 bits up to and including the next 0 bit and returns the amount of 1 bits popped

impl<E: Endianness> BitQueue<E, u8>
[src]

Returns the state of the queue as a single value which can be used to perform lookups.

Auto Trait Implementations

impl<E, N> Send for BitQueue<E, N> where
    E: Send,
    N: Send

impl<E, N> Sync for BitQueue<E, N> where
    E: Sync,
    N: Sync