pub trait Endianness: Sized {
Show 15 methods
// Required methods
fn push<N>(queue: &mut BitQueue<Self, N>, bits: u32, value: N)
where N: Numeric;
fn push_fixed<const B: u32, N>(queue: &mut BitQueue<Self, N>, value: N)
where N: Numeric;
fn pop<N>(queue: &mut BitQueue<Self, N>, bits: u32) -> N
where N: Numeric;
fn pop_fixed<const B: u32, N>(queue: &mut BitQueue<Self, N>) -> 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 read_signed_fixed<R, const B: u32, S>(r: &mut R) -> 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 write_signed_fixed<W, const B: u32, S>(w: &mut W, value: S) -> Result<()>
where W: BitWrite,
S: SignedNumeric;
fn read_primitive<R, V>(r: &mut R) -> Result<V>
where R: BitRead,
V: Primitive;
fn write_primitive<W, V>(w: &mut W, value: V) -> Result<()>
where W: BitWrite,
V: Primitive;
fn read_numeric<R, V>(r: R) -> Result<V>
where R: Read,
V: Primitive;
fn write_numeric<W, V>(w: W, value: V) -> Result<()>
where W: Write,
V: Primitive;
}
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§
Sourcefn push<N>(queue: &mut BitQueue<Self, N>, bits: u32, value: N)where
N: Numeric,
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.
Sourcefn push_fixed<const B: u32, N>(queue: &mut BitQueue<Self, N>, value: N)where
N: Numeric,
fn push_fixed<const B: u32, N>(queue: &mut BitQueue<Self, N>, value: N)where
N: Numeric,
Pushes the given constant number of bits and value onto an accumulator with the given bits and value.
Sourcefn pop<N>(queue: &mut BitQueue<Self, N>, bits: u32) -> Nwhere
N: Numeric,
fn pop<N>(queue: &mut BitQueue<Self, N>, bits: u32) -> Nwhere
N: Numeric,
Pops a value with the given number of bits from an accumulator with the given bits and value.
Sourcefn pop_fixed<const B: u32, N>(queue: &mut BitQueue<Self, N>) -> Nwhere
N: Numeric,
fn pop_fixed<const B: u32, N>(queue: &mut BitQueue<Self, N>) -> Nwhere
N: Numeric,
Pops a value with the given number of constant bits from an accumulator with the given bits and value.
Sourcefn drop<N>(queue: &mut BitQueue<Self, N>, bits: u32)where
N: Numeric,
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.
Sourcefn next_zeros<N>(queue: &BitQueue<Self, N>) -> u32where
N: Numeric,
fn next_zeros<N>(queue: &BitQueue<Self, N>) -> u32where
N: Numeric,
Returns the next number of 0 bits from an accumulator with the given bits and value.
Sourcefn next_ones<N>(queue: &BitQueue<Self, N>) -> u32where
N: Numeric,
fn next_ones<N>(queue: &BitQueue<Self, N>) -> u32where
N: Numeric,
Returns the next number of 1 bits from an accumulator with the given bits and value.
Sourcefn 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
Sourcefn read_signed_fixed<R, const B: u32, S>(r: &mut R) -> Result<S>where
R: BitRead,
S: SignedNumeric,
fn read_signed_fixed<R, const B: u32, S>(r: &mut R) -> Result<S>where
R: BitRead,
S: SignedNumeric,
Reads signed value from reader in this endianness
Sourcefn 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
Sourcefn write_signed_fixed<W, const B: u32, S>(w: &mut W, value: S) -> Result<()>where
W: BitWrite,
S: SignedNumeric,
fn write_signed_fixed<W, const B: u32, S>(w: &mut W, value: S) -> Result<()>where
W: BitWrite,
S: SignedNumeric,
Writes signed value to writer in this endianness
Sourcefn read_primitive<R, V>(r: &mut R) -> Result<V>
fn read_primitive<R, V>(r: &mut R) -> Result<V>
Reads convertable numeric value from reader in this endianness
Sourcefn write_primitive<W, V>(w: &mut W, value: V) -> Result<()>
fn write_primitive<W, V>(w: &mut W, value: V) -> Result<()>
Writes convertable numeric value to writer in this endianness
Sourcefn read_numeric<R, V>(r: R) -> Result<V>
fn read_numeric<R, V>(r: R) -> Result<V>
Reads entire numeric value from reader in this endianness
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.