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
Object Safety§
This trait is not object safe.