Trait iterator_markers::AscendingIterator
[−]
[src]
pub unsafe trait AscendingIterator: Iterator where Self::Item: PartialOrd { }
Marker trait for iterators that return items in a sorted ascending order.
It does not guarantee uniqueness, but equal items must come straight after each other.
Use I: UniqueIterator+AscendingIterator
if you need both.
The trait is unsafe so consumers can rely on it.
It is a logic error to implement both AscendingIterator
and DescendingIterator
for the same type.
Examples:
let _ = (1..10);
Implementors
impl<T: PartialOrd + Step> AscendingIterator for Range<T> where &'a T: Add<&'a T, Output=T>
impl<T: PartialOrd + Step> AscendingIterator for RangeInclusive<T> where &'a T: Add<&'a T, Output=T>
impl<'a, K: Ord, V> AscendingIterator for Keys<'a, K, V>
impl<'a, K: Ord, V: PartialOrd> AscendingIterator for collections::btree::map::Iter<'a, K, V>
impl<'a, K: Ord, V: PartialOrd> AscendingIterator for IterMut<'a, K, V>
impl<K: Ord, V: PartialOrd> AscendingIterator for collections::btree::map::IntoIter<K, V>
impl<T: Ord> AscendingIterator for collections::btree::set::IntoIter<T>
impl<'a, T: Ord> AscendingIterator for collections::btree::set::Iter<'a, T>
impl<'a, T: Ord> AscendingIterator for Intersection<'a, T>
impl<T: PartialOrd, I: Iterator<Item=T>> AscendingIterator for Enumerate<I>
impl<T: PartialOrd> AscendingIterator for Once<T>
impl<T: PartialOrd> AscendingIterator for Empty<T>
impl<T: PartialOrd, I: Iterator<Item=T> + AscendingIterator> AscendingIterator for Peekable<I>
impl<T: PartialOrd, I: Iterator<Item=T> + AscendingIterator> AscendingIterator for Skip<I>
impl<T: PartialOrd, I: Iterator<Item=T> + AscendingIterator> AscendingIterator for Take<I>
impl<T: PartialOrd, I: Iterator<Item=T> + AscendingIterator> AscendingIterator for Fuse<I>
impl<T: PartialOrd, I: Iterator<Item=T> + AscendingIterator, F: FnMut(&T) -> bool> AscendingIterator for Filter<I, F>
impl<T: PartialOrd, I: Iterator<Item=T> + AscendingIterator, F: FnMut(&T) -> bool> AscendingIterator for SkipWhile<I, F>
impl<T: PartialOrd, I: Iterator<Item=T> + AscendingIterator, F: FnMut(&T) -> bool> AscendingIterator for TakeWhile<I, F>
impl<I: DoubleEndedIterator + DescendingIterator> AscendingIterator for Rev<I> where I::Item: PartialOrd
impl<'a, T: 'a + Clone + PartialOrd, I: Iterator<Item=&'a T> + AscendingIterator> AscendingIterator for Cloned<I>
impl<T: PartialOrd, I: Iterator<Item=T> + AscendingIterator, F: FnMut(&T)> AscendingIterator for Inspect<I, F>
impl<TA, TB, IA, IB> AscendingIterator for Zip<IA, IB> where TA: PartialOrd,
IA: Iterator<Item=TA> + AscendingIterator + UniqueIterator,
TB: PartialOrd,
IB: Iterator<Item=TB>