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 collect<T>(self) -> T where
T: FromIterator<Id>,
T: FromIterator<Id>,
Equivalent to self.into_iter().collect()
.
fn union<I: IntoBlockIter>(self, other: I) -> BlockIter<Union<B, I::Blocks>>
Takes the union of the blocks with another block iterator. Equivalent to self | other
.
fn intersection<I: IntoBlockIter>(
self,
other: I
) -> BlockIter<Intersection<B, I::Blocks>>
self,
other: I
) -> BlockIter<Intersection<B, I::Blocks>>
Takes the intersection of the blocks with another block iterator. Equivalent to
self & other
.
fn difference<I: IntoBlockIter>(
self,
other: I
) -> BlockIter<Difference<B, I::Blocks>>
self,
other: I
) -> BlockIter<Difference<B, I::Blocks>>
Takes the difference of the blocks with another block iterator. Equivalent to
self - other
.
fn symmetric_difference<I: IntoBlockIter>(
self,
other: I
) -> BlockIter<SymmetricDifference<B, I::Blocks>>
self,
other: I
) -> BlockIter<SymmetricDifference<B, I::Blocks>>
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> IntoBlockIter 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: IntoBlockIter,
[src]
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIter,
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: IntoBlockIter,
[src]
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIter,
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: IntoBlockIter,
[src]
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIter,
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: IntoBlockIter,
[src]
B: ExactSizeIterator<Item = Block>,
I: IntoBlockIter,