pub trait BitOps {
fn get(bits: &Self, index: usize) -> bool;
fn set(bits: &mut Self, index: usize, value: bool) -> bool;
fn len(bits: &Self) -> usize;
fn first_index(bits: &Self) -> Option<usize>;
fn bit_and(bits: &mut Self, other_bits: &Self);
fn bit_or(bits: &mut Self, other_bits: &Self);
fn bit_xor(bits: &mut Self, other_bits: &Self);
fn invert(bits: &mut Self);
fn make_mask(shift: usize) -> Self;
fn to_hex(bits: &Self) -> String;
}
Expand description
A trait that defines generalised operations on a Bits::Store
type.