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) -> bool
fn is_disjoint<J>(self, other: J) -> bool
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) -> bool
fn is_subset<J>(self, other: J) -> bool
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) -> bool
fn is_superset<J>(self, other: J) -> bool
Returns true if this sorted iterator is a superset of another, i.e., self contains at
least all the values in other.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.