Trait rotary::mask::Mask[][src]

pub trait Mask: Sized {
    type Iter: Iterator<Item = usize>;
    fn test(&self, index: usize) -> bool;
fn iter(&self) -> Self::Iter; fn join<I>(&self, iter: I) -> Join<Self::Iter, I::IntoIter>

Notable traits for Join<A, B>

impl<A, B> Iterator for Join<A, B> where
    A: Iterator<Item = usize>,
    B: Iterator
type Item = B::Item;

    where
        Self: Sized,
        I: IntoIterator
, { ... } }

A trait used to check if an index is masked.

Associated Types

type Iter: Iterator<Item = usize>[src]

The iterator over a mask, indicating all items in the mask.

Loading content...

Required methods

fn test(&self, index: usize) -> bool[src]

Test if the given bit is set.

fn iter(&self) -> Self::Iter[src]

Construct an iterator over a bit set.

Loading content...

Provided methods

fn join<I>(&self, iter: I) -> Join<Self::Iter, I::IntoIter>

Notable traits for Join<A, B>

impl<A, B> Iterator for Join<A, B> where
    A: Iterator<Item = usize>,
    B: Iterator
type Item = B::Item;
where
    Self: Sized,
    I: IntoIterator
[src]

Join this bit set with an iterator, creating an iterator that only yields the elements which are set.

Examples

use rotary::Mask as _;

let mask: rotary::BitSet<u128> = rotary::bit_set![0, 1, 3];
let mut values = vec![false, false, false, false];

for value in mask.join(values.iter_mut()) {
    *value = true;
}

assert_eq!(values, vec![true, true, false, true]);
Loading content...

Implementors

impl Mask for All[src]

type Iter = Iter

impl Mask for None[src]

type Iter = Iter

impl<T> Mask for BitSet<T> where
    T: Bits
[src]

type Iter = T::Iter

Loading content...