pub trait LevelMasks: BitSetBase {
    // Required methods
    fn level0_mask(&self) -> <Self::Conf as Config>::Level0BitBlock;
    unsafe fn level1_mask(
        &self,
        level0_index: usize
    ) -> <Self::Conf as Config>::Level1BitBlock;
    unsafe fn data_mask(
        &self,
        level0_index: usize,
        level1_index: usize
    ) -> <Self::Conf as Config>::DataBitBlock;
}
Available on crate feature impl only.
Expand description

Basic interface for accessing block masks. Can work with SimpleIter.

Required Methods§

source

fn level0_mask(&self) -> <Self::Conf as Config>::Level0BitBlock

source

unsafe fn level1_mask( &self, level0_index: usize ) -> <Self::Conf as Config>::Level1BitBlock

§Safety

index is not checked

source

unsafe fn data_mask( &self, level0_index: usize, level1_index: usize ) -> <Self::Conf as Config>::DataBitBlock

§Safety

indices are not checked

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'a, T: LevelMasks> LevelMasks for &'a T

source§

fn level0_mask(&self) -> <Self::Conf as Config>::Level0BitBlock

source§

unsafe fn level1_mask( &self, level0_index: usize ) -> <Self::Conf as Config>::Level1BitBlock

source§

unsafe fn data_mask( &self, level0_index: usize, level1_index: usize ) -> <Self::Conf as Config>::DataBitBlock

Implementors§

source§

impl<Conf> LevelMasks for BitSet<Conf>
where Conf: Config,

source§

impl<Conf> LevelMasks for SmallBitSet<Conf>
where Conf: SmallConfig,

source§

impl<Op, S1, S2> LevelMasks for Apply<Op, S1, S2>
where Op: BitSetOp, S1: LevelMasks, S2: LevelMasks<Conf = S1::Conf>,

source§

impl<Op, S, Cache> LevelMasks for Reduce<Op, S, Cache>
where Op: BitSetOp, S: Iterator + Clone, S::Item: LevelMasks,