This crate implements an iterator, that takes two independent iterators and returns their elements in order, given the two input iterators are sorted itself.
rust
use merging_iterator::MergeIter;
let a = vec![0, 2, 4, 6, 8].into_iter();
let b = vec![1, 3, 5, 7, 9].into_iter();
let merger = MergeIter::new(a, b);
assert_eq!(
vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
merger.collect::<Vec<_>>()
);
merging-iterator
is licensed under either of the following, at your option: