Trait BitSetLike

pub trait BitSetLike: Clone + Debug

Trait for types which can be handled with BitSetStrategy.

Required Methods

fn new_bitset(max: usize) -> Self

Create a new value of Self with space for up to max bits, all initialised to zero.

fn len(&self) -> usize

Return an upper bound on the greatest bit set plus one.

fn test(&self, ix: usize) -> bool

Test whether the given bit is set.

fn set(&mut self, ix: usize)

Set the given bit.

fn clear(&mut self, ix: usize)

Clear the given bit.

Provided Methods

fn count(&self) -> usize

Return the number of bits set.

This has a default for backwards compatibility, which simply does a linear scan through the bits. Implementations are strongly encouraged to override this.

Implementors