Function interleaved_ordered::interleave_ordered [] [src]

pub fn interleave_ordered<A, B>(
    a: A,
    b: B
) -> InterleaveOrdered<A::IntoIter, B::IntoIter> where
    A: IntoIterator,
    B: IntoIterator<Item = A::Item>, 

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]
)