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