Trait bitstream_io::Endianness [−][src]
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 R, bits: u32) -> Result<S>
where
R: BitRead,
S: SignedNumeric; fn write_signed<W, S>(w: &mut W, bits: u32, value: S) -> Result<()>
where
W: BitWrite,
S: SignedNumeric; fn read_numeric<R, N>(r: R) -> Result<N>
where
R: Read,
N: Numeric; fn write_numeric<W, N>(w: W, value: N) -> Result<()>
where
W: Write,
N: Numeric; }
Expand description
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
Pushes the given bits and value onto an accumulator with the given bits and value.
Pops a value with the given number of bits from an accumulator with the given bits and value.
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,
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.
Returns the next number of 1 bits from an accumulator with the given bits and value.
fn read_signed<R, S>(r: &mut R, bits: u32) -> Result<S> where
R: BitRead,
S: SignedNumeric,
fn read_signed<R, S>(r: &mut R, bits: u32) -> Result<S> where
R: BitRead,
S: SignedNumeric,
Reads signed value from reader in this endianness
fn write_signed<W, S>(w: &mut W, bits: u32, value: S) -> Result<()> where
W: BitWrite,
S: SignedNumeric,
fn write_signed<W, S>(w: &mut W, bits: u32, value: S) -> Result<()> where
W: BitWrite,
S: SignedNumeric,
Writes signed value to writer in this endianness
fn read_numeric<R, N>(r: R) -> Result<N> where
R: Read,
N: Numeric,
fn read_numeric<R, N>(r: R) -> Result<N> where
R: Read,
N: Numeric,
Reads entire numeric value from reader in this endianness