Struct id_set::BlockIter
[−]
[src]
pub struct BlockIter<B> { /* fields omitted */ }Represents a view into the blocks of a set or combination of sets. An iterator over the elements
can be obtained with into_iter().
Methods
impl<B> BlockIter<B>[src]
fn into_inner(self) -> B
Returns the iterator over raw blocks.
impl<B> BlockIter<B> where
B: ExactSizeIterator<Item = Block>, [src]
B: ExactSizeIterator<Item = Block>,
fn new(inner: B) -> Self
Creates new block iterator.
fn collect<T>(self) -> T where
T: FromIterator<Id>,
T: FromIterator<Id>,
Equivalent to self.into_iter().collect().
fn into_set(self) -> IdSet
Collects the iterator into an IdSet.
fn union<I>(self, other: I) -> BlockIter<Union<B, I::Blocks>> where
I: IntoBlockIterator,
I: IntoBlockIterator,
Takes the union of the blocks with another block iterator. Equivalent to self | other.
fn intersection<I>(self, other: I) -> BlockIter<Intersection<B, I::Blocks>> where
I: IntoBlockIterator,
I: IntoBlockIterator,
Takes the intersection of the blocks with another block iterator. Equivalent to
self & other.
fn difference<I>(self, other: I) -> BlockIter<Difference<B, I::Blocks>> where
I: IntoBlockIterator,
I: IntoBlockIterator,
Takes the difference of the blocks with another block iterator. Equivalent to
self - other.
fn symmetric_difference<I>(
self,
other: I
) -> BlockIter<SymmetricDifference<B, I::Blocks>> where
I: IntoBlockIterator,
self,
other: I
) -> BlockIter<SymmetricDifference<B, I::Blocks>> where
I: IntoBlockIterator,
Takes the symmetric difference of the blocks with another block iterator. Equivalent to
self ^ other.
Trait Implementations
impl<B: Clone> Clone for BlockIter<B>[src]
fn clone(&self) -> BlockIter<B>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more
impl<B: Debug> Debug for BlockIter<B>[src]
impl<B> IntoIterator for BlockIter<B> where
B: ExactSizeIterator<Item = Block>, [src]
B: ExactSizeIterator<Item = Block>,
type Item = Id
The type of the elements being iterated over.
type IntoIter = IdIter<B>
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
Creates an iterator from a value. Read more
impl<B> IntoBlockIterator for BlockIter<B> where
B: ExactSizeIterator<Item = Block>, [src]
B: ExactSizeIterator<Item = Block>,
type Blocks = B
The raw iterator type.
fn into_block_iter(self) -> BlockIter<Self::Blocks>
Creates a block iterator.
impl<B, I> BitAnd<I> for BlockIter<B> where
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIterator, [src]
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIterator,
type Output = BlockIter<Intersection<B, I::Blocks>>
The resulting type after applying the & operator
fn bitand(self, other: I) -> Self::Output
Takes the intersection of two objects.
impl<B, I> BitOr<I> for BlockIter<B> where
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIterator, [src]
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIterator,
type Output = BlockIter<Union<B, I::Blocks>>
The resulting type after applying the | operator
fn bitor(self, other: I) -> Self::Output
Takes the union of two objects.
impl<B, I> BitXor<I> for BlockIter<B> where
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIterator, [src]
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIterator,
type Output = BlockIter<SymmetricDifference<B, I::Blocks>>
The resulting type after applying the ^ operator
fn bitxor(self, other: I) -> Self::Output
Takes the symmetric difference of two objects.
impl<B, I> Sub<I> for BlockIter<B> where
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIterator, [src]
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIterator,