Function interleaved_ordered::interleave_ordered
source · [−]pub fn interleave_ordered<A, B>(
a: A,
b: B
) -> InterleaveOrdered<A::IntoIter, B::IntoIter>ⓘNotable traits for InterleaveOrdered<A, B>impl<A, B> Iterator for InterleaveOrdered<A, B> where
A: Iterator,
B: Iterator<Item = A::Item>,
A::Item: Ord, type Item = A::Item;
where
A: IntoIterator,
B: IntoIterator<Item = A::Item>,
Expand description
Interleave two ordered iterators, yielding a new iterator whose items are also ordered.
use interleaved_ordered::interleave_ordered;
let a = [1, 1, 2, 3, 5, 7, 9];
let b = [2, 3, 4, 5, 6, 7, 10];
let iter = interleave_ordered(&a, b.iter());
assert_eq!(
interleave_ordered(&a, &b).cloned().collect::<Vec<_>>(),
vec![1, 1, 2, 2, 3, 3, 4, 5, 5, 6, 7, 7, 9, 10]
)