1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
extern crate ordered_iter; use self::ordered_iter::{OrderedMapIterator, OrderedSetIterator}; use super::{map, set}; impl<K, V> OrderedMapIterator for map::IntoIter<K, V> where K: Ord { type Key = K; type Val = V; } impl<'a, K, V> OrderedMapIterator for map::Iter<'a, K, V> where K: Ord { type Key = &'a K; type Val = &'a V; } impl<'a, K, V> OrderedMapIterator for map::IterMut<'a, K, V> where K: Ord { type Key = &'a K; type Val = &'a mut V; } #[cfg(feature = "range")] impl<K, V> OrderedMapIterator for map::IntoRange<K, V> where K: Ord { type Key = K; type Val = V; } #[cfg(feature = "range")] impl<'a, K, V> OrderedMapIterator for map::Range<'a, K, V> where K: Ord { type Key = &'a K; type Val = &'a V; } #[cfg(feature = "range")] impl<'a, K, V> OrderedMapIterator for map::RangeMut<'a, K, V> where K: Ord { type Key = &'a K; type Val = &'a mut V; } impl<T> OrderedSetIterator for set::IntoIter<T> where T: Ord {} impl<'a, T> OrderedSetIterator for set::Iter<'a, T> where T: Ord {} #[cfg(feature = "range")] impl<T> OrderedSetIterator for set::IntoRange<T> where T: Ord {} #[cfg(feature = "range")] impl<'a, T> OrderedSetIterator for set::Range<'a, T> where T: Ord {}