Trait iterator_markers::UniqueIterator
[−]
[src]
pub unsafe trait UniqueIterator: Iterator where Self::Item: PartialEq { }
Marker trait for iterators that will never return two equal items, like a set.
The trait is unsafe so consumers can rely on it.
Implementors
impl<T: PartialEq + Step> UniqueIterator for Range<T> where &'a T: Add<&'a T, Output=T>
impl<T: PartialEq + Step> UniqueIterator for RangeInclusive<T> where &'a T: Add<&'a T, Output=T>
impl<'a, K: Eq, V> UniqueIterator for std::collections::hash::map::Keys<'a, K, V>
impl<'a, K: Eq, V: PartialEq> UniqueIterator for std::collections::hash::map::Iter<'a, K, V>
impl<'a, K: Eq, V: PartialEq> UniqueIterator for std::collections::hash::map::IterMut<'a, K, V>
impl<K: Eq, V: PartialEq> UniqueIterator for std::collections::hash::map::IntoIter<K, V>
impl<'a, K: Ord, V> UniqueIterator for collections::btree::map::Keys<'a, K, V>
impl<'a, K: Ord, V: PartialEq> UniqueIterator for collections::btree::map::Iter<'a, K, V>
impl<'a, K: Ord, V: PartialEq> UniqueIterator for collections::btree::map::IterMut<'a, K, V>
impl<K: Ord, V: PartialEq> UniqueIterator for collections::btree::map::IntoIter<K, V>
impl<T: Eq> UniqueIterator for std::collections::hash::set::IntoIter<T>
impl<'a, T: Eq + Hash> UniqueIterator for std::collections::hash::set::Iter<'a, T>
impl<'a, T: Eq + Hash, S: BuildHasher> UniqueIterator for std::collections::hash::set::Union<'a, T, S>
impl<'a, T: Eq + Hash, S: BuildHasher> UniqueIterator for std::collections::hash::set::Intersection<'a, T, S>
impl<'a, T: Eq + Hash, S: BuildHasher> UniqueIterator for std::collections::hash::set::Difference<'a, T, S>
impl<'a, T: Eq + Hash, S: BuildHasher> UniqueIterator for std::collections::hash::set::SymmetricDifference<'a, T, S>
impl<T: Ord> UniqueIterator for collections::btree::set::IntoIter<T>
impl<'a, T: Ord> UniqueIterator for collections::btree::set::Iter<'a, T>
impl<'a, T: Ord> UniqueIterator for collections::btree::set::Intersection<'a, T>
impl<'a, T: Ord> UniqueIterator for collections::btree::set::Union<'a, T>
impl<'a, T: Ord> UniqueIterator for collections::btree::set::Difference<'a, T>
impl<'a, T: Ord> UniqueIterator for collections::btree::set::SymmetricDifference<'a, T>
impl<T: PartialEq, I: Iterator<Item=T>> UniqueIterator for Enumerate<I>
impl<T: PartialEq> UniqueIterator for Once<T>
impl<T: PartialEq> UniqueIterator for Empty<T>
impl<T: PartialEq, I: Iterator<Item=T> + UniqueIterator> UniqueIterator for Peekable<I>
impl<T: PartialEq, I: Iterator<Item=T> + UniqueIterator> UniqueIterator for Skip<I>
impl<T: PartialEq, I: Iterator<Item=T> + UniqueIterator> UniqueIterator for Take<I>
impl<T: PartialEq, I: Iterator<Item=T> + UniqueIterator> UniqueIterator for Fuse<I>
impl<T: PartialEq, I: Iterator<Item=T> + UniqueIterator, F: FnMut(&T) -> bool> UniqueIterator for Filter<I, F>
impl<T: PartialEq, I: Iterator<Item=T> + UniqueIterator, F: FnMut(&T) -> bool> UniqueIterator for SkipWhile<I, F>
impl<T: PartialEq, I: Iterator<Item=T> + UniqueIterator, F: FnMut(&T) -> bool> UniqueIterator for TakeWhile<I, F>
impl<I: DoubleEndedIterator + UniqueIterator> UniqueIterator for Rev<I> where I::Item: PartialOrd
impl<'a, T: 'a + Clone + PartialEq, I: Iterator<Item=&'a T> + UniqueIterator> UniqueIterator for Cloned<I>
impl<T: PartialEq, I: Iterator<Item=T> + UniqueIterator, F: FnMut(&T)> UniqueIterator for Inspect<I, F>
impl<TA, TB, IA, IB> UniqueIterator for Zip<IA, IB> where TA: PartialEq,
IA: Iterator<Item=TA> + UniqueIterator,
TB: PartialEq,
IB: Iterator<Item=TB>