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
[src]
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
[src]
Creates new block iterator.
fn collect<T>(self) -> T where
T: FromIterator<Id>,
[src]
T: FromIterator<Id>,
Equivalent to self.into_iter().collect()
.
fn into_set(self) -> IdSet
[src]
Collects the iterator into an IdSet
.
fn union<I>(self, other: I) -> BlockIter<Union<B, I::Blocks>> where
I: IntoBlockIterator,
[src]
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,
[src]
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,
[src]
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,
[src]
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>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
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
[src]
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>
[src]
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
[src]
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
[src]
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
[src]
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,