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.