Trait constellation::bitset::BitSetLike [] [src]

pub trait BitSetLike {
    fn layer3(&self) -> usize;
    fn layer2(&self, i: usize) -> usize;
    fn layer1(&self, i: usize) -> usize;
    fn layer0(&self, i: usize) -> usize;

    fn iter(self) -> BitIter<Self>
    where
        Self: Sized
, { ... } }

A generic interface for BitSet-like types.

Every BitSetLike in specs is hierarchical, meaning that there are multiple levels that branch out in a tree like structure.

Layer0 each bit represents one Index of the set Layer1 each bit represents one usize of Layer0, and will be set only if the word below it is not zero. Layer2 has the same arrangement but with Layer1, and Layer3 with Layer2.

This arrangement allows for rapid jumps across the key-space.

Required Methods

Return a usize where each bit represents if any word in layer2 has been set.

Return the usize from the array of usizes that indicates if any bit has been set in layer1

Return the usize from the array of usizes that indicates if any bit has been set in layer0

Return a usize that maps to the direct 1:1 association with each index of the set

Provided Methods

Create an iterator that will scan over the keyspace

Implementors