pub trait BitArray {
    // Required methods
    fn bit(&self, idx: usize) -> bool;
    fn bit_slice(&self, start: usize, end: usize) -> Self;
    fn mask(&self, n: usize) -> Self;
    fn trailing_zeros(&self) -> usize;
    fn zero() -> Self;
    fn one() -> Self;
    fn max() -> Self;
}
Expand description

A trait which allows numbers to act as fixed-size bit arrays

Required Methods§

fn bit(&self, idx: usize) -> bool

Is bit set?

fn bit_slice(&self, start: usize, end: usize) -> Self

Returns an array which is just the bits from start to end

fn mask(&self, n: usize) -> Self

Bitwise and with n ones

fn trailing_zeros(&self) -> usize

Trailing zeros

fn zero() -> Self

Create all-zeros value

fn one() -> Self

Create value represeting one

fn max() -> Self

Create value representing max

Object Safety§

This trait is not object safe.

Implementors§