Trait datazoo::SortedIterator
source · pub trait SortedIterator: Iterator + Sized {
// Provided methods
fn union<J>(self, other: J) -> Union<Self, J>
where J: SortedIterator<Item = Self::Item> { ... }
fn intersection<J>(self, other: J) -> Intersection<Self, J>
where J: SortedIterator<Item = Self::Item> { ... }
fn difference<J>(self, other: J) -> Difference<Self, J>
where J: SortedIterator<Item = Self::Item> { ... }
fn symmetric_difference<J>(self, other: J) -> SymmetricDifference<Self, J>
where J: SortedIterator<Item = Self::Item> { ... }
fn pairs(self) -> Pairs<Self> { ... }
fn is_disjoint<J>(self, other: J) -> bool
where J: SortedIterator<Item = Self::Item>,
Self::Item: Ord { ... }
fn is_subset<J>(self, other: J) -> bool
where J: SortedIterator<Item = Self::Item>,
Self::Item: Ord { ... }
fn is_superset<J>(self, other: J) -> bool
where J: SortedIterator<Item = Self::Item>,
Self::Item: Ord { ... }
}
Expand description
set operations for iterators where the items are sorted according to the natural order
Provided Methods§
sourcefn union<J>(self, other: J) -> Union<Self, J>where
J: SortedIterator<Item = Self::Item>,
fn union<J>(self, other: J) -> Union<Self, J>where J: SortedIterator<Item = Self::Item>,
Visits the values representing the union, i.e., all the values in self
or other
,
without duplicates.
sourcefn intersection<J>(self, other: J) -> Intersection<Self, J>where
J: SortedIterator<Item = Self::Item>,
fn intersection<J>(self, other: J) -> Intersection<Self, J>where J: SortedIterator<Item = Self::Item>,
Visits the values representing the intersection, i.e., the values that are both in self
and other
.
sourcefn difference<J>(self, other: J) -> Difference<Self, J>where
J: SortedIterator<Item = Self::Item>,
fn difference<J>(self, other: J) -> Difference<Self, J>where J: SortedIterator<Item = Self::Item>,
Visits the values representing the difference, i.e., the values that are in self
but not
in other
.
sourcefn symmetric_difference<J>(self, other: J) -> SymmetricDifference<Self, J>where
J: SortedIterator<Item = Self::Item>,
fn symmetric_difference<J>(self, other: J) -> SymmetricDifference<Self, J>where J: SortedIterator<Item = Self::Item>,
Visits the values representing the symmetric difference, i.e., the values that are in
self
or in other
but not in both.
sourcefn pairs(self) -> Pairs<Self>
fn pairs(self) -> Pairs<Self>
Creates an iterator that pairs each element of self
with ()
. This transforms a
SortedIterator
into a SortedPairIterator
.
sourcefn is_disjoint<J>(self, other: J) -> boolwhere
J: SortedIterator<Item = Self::Item>,
Self::Item: Ord,
fn is_disjoint<J>(self, other: J) -> boolwhere J: SortedIterator<Item = Self::Item>, Self::Item: Ord,
Returns true
if self
has no elements in common with other
. This is equivalent to
checking for an empty intersection.
sourcefn is_subset<J>(self, other: J) -> boolwhere
J: SortedIterator<Item = Self::Item>,
Self::Item: Ord,
fn is_subset<J>(self, other: J) -> boolwhere J: SortedIterator<Item = Self::Item>, Self::Item: Ord,
Returns true
if this sorted iterator is a subset of another, i.e., other
contains at
least all the values in self
.
sourcefn is_superset<J>(self, other: J) -> boolwhere
J: SortedIterator<Item = Self::Item>,
Self::Item: Ord,
fn is_superset<J>(self, other: J) -> boolwhere J: SortedIterator<Item = Self::Item>, Self::Item: Ord,
Returns true
if this sorted iterator is a superset of another, i.e., self
contains at
least all the values in other
.