[][src]Trait bitstream_io::Endianness

pub trait Endianness: Sized {
    fn push<N>(queue: &mut BitQueue<Self, N>, bits: u32, value: N)
    where
        N: Numeric
;
fn pop<N>(queue: &mut BitQueue<Self, N>, bits: u32) -> N
    where
        N: Numeric
;
fn drop<N>(queue: &mut BitQueue<Self, N>, bits: u32)
    where
        N: Numeric
;
fn next_zeros<N>(queue: &BitQueue<Self, N>) -> u32
    where
        N: Numeric
;
fn next_ones<N>(queue: &BitQueue<Self, N>) -> u32
    where
        N: Numeric
;
fn read_signed<R, S>(r: &mut BitReader<R, Self>, bits: u32) -> Result<S>
    where
        R: Read,
        S: SignedNumeric
;
fn write_signed<W, S>(
        w: &mut BitWriter<W, Self>,
        bits: u32,
        value: S
    ) -> Result<()>
    where
        W: Write,
        S: SignedNumeric
; }

A stream's endianness, or byte order, for determining how bits should be read.

It comes in BigEndian and LittleEndian varieties (which may be shortened to BE and LE) and is not something programmers should have to implement in most cases.

Required methods

fn push<N>(queue: &mut BitQueue<Self, N>, bits: u32, value: N) where
    N: Numeric

Pushes the given bits and value onto an accumulator with the given bits and value.

fn pop<N>(queue: &mut BitQueue<Self, N>, bits: u32) -> N where
    N: Numeric

Pops a value with the given number of bits from an accumulator with the given bits and value.

fn drop<N>(queue: &mut BitQueue<Self, N>, bits: u32) where
    N: Numeric

Drops the given number of bits from an accumulator with the given bits and value.

fn next_zeros<N>(queue: &BitQueue<Self, N>) -> u32 where
    N: Numeric

Returns the next number of 0 bits from an accumulator with the given bits and value.

fn next_ones<N>(queue: &BitQueue<Self, N>) -> u32 where
    N: Numeric

Returns the next number of 1 bits from an accumulator with the given bits and value.

fn read_signed<R, S>(r: &mut BitReader<R, Self>, bits: u32) -> Result<S> where
    R: Read,
    S: SignedNumeric

Reads signed value from reader in this endianness

fn write_signed<W, S>(
    w: &mut BitWriter<W, Self>,
    bits: u32,
    value: S
) -> Result<()> where
    W: Write,
    S: SignedNumeric

Writes signed value to writer in this endianness

Loading content...

Implementors

impl Endianness for BigEndian[src]

impl Endianness for LittleEndian[src]

Loading content...