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§

source

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.

source

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.

source

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.

source

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.

source

fn pairs(self) -> Pairs<Self>

Creates an iterator that pairs each element of self with (). This transforms a SortedIterator into a SortedPairIterator.

source

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.

source

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.

source

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.

Implementors§