pub trait BitBlock:
    Copy
    + Add<Self, Output = Self>
    + Sub<Self, Output = Self>
    + Shl<usize, Output = Self>
    + Shr<usize, Output = Self>
    + Not<Output = Self>
    + BitAnd<Self, Output = Self>
    + BitOr<Self, Output = Self>
    + BitXor<Self, Output = Self>
    + Rem<Self, Output = Self>
    + Eq
    + Ord
    + Hash {
    // Required methods
    fn bits() -> usize;
    fn from_byte(byte: u8) -> Self;
    fn count_ones(self) -> usize;
    fn zero() -> Self;
    fn one() -> Self;
    // Provided methods
    fn bytes() -> usize { ... }
    fn count_zeros(self) -> usize { ... }
}Expand description
Abstracts over a pile of bits (basically unsigned primitives)
Required Methods§
Sourcefn count_ones(self) -> usize
 
fn count_ones(self) -> usize
Count the number of 1’s in the bitwise repr
Provided Methods§
Sourcefn count_zeros(self) -> usize
 
fn count_zeros(self) -> usize
Count the number of 0’s in the bitwise repr
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.