Trait bitstream_io::Numeric[][src]

pub trait Numeric: Sized + Copy + Default + Debug + PartialOrd + Shl<u32, Output = Self> + ShlAssign<u32> + Shr<u32, Output = Self> + ShrAssign<u32> + Rem<Self, Output = Self> + RemAssign<Self> + BitOrAssign<Self> + BitXor<Self, Output = Self> + Not<Output = Self> + Sub<Self, Output = Self> {
    type Bytes: AsRef<[u8]> + AsMut<[u8]>;
Show methods fn one() -> Self;
fn is_zero(self) -> bool;
fn from_u8(u: u8) -> Self;
fn to_u8(self) -> u8;
fn count_ones(self) -> u32;
fn leading_zeros(self) -> u32;
fn trailing_zeros(self) -> u32;
fn bits_size() -> u32;
fn buffer() -> Self::Bytes;
fn to_be_bytes(self) -> Self::Bytes;
fn to_le_bytes(self) -> Self::Bytes;
fn from_be_bytes(bytes: Self::Bytes) -> Self;
fn from_le_bytes(bytes: Self::Bytes) -> Self;
fn unsigned_value(self) -> UnsignedValue;
}
Expand description

This trait extends many common integer types (both unsigned and signed) with a few trivial methods so that they can be used with the bitstream handling traits.

Associated Types

The raw byte representation of this numeric type

Required methods

The value of 1 in this type

Returns true if this value is 0, in its type

Returns a u8 value in this type

Assuming 0 <= value < 256, returns this value as a u8 type

Counts the number of 1 bits

Counts the number of leading zeros

Counts the number of trailing zeros

Size of type in bits

An empty buffer of this type’s size

Our value in big-endian bytes

Our value in little-endian bytes

Convert big-endian bytes to our value

Convert little-endian bytes to out value

Convert to a generic unsigned write value for stream recording purposes

Implementations on Foreign Types

Implementors