kmerge

Function kmerge 

Source
pub fn kmerge<S>(xs: impl IntoIterator<Item = S>) -> KWayMerge<S>
where S: Stream + Unpin, S::Item: Ord,
Expand description

Create a stream that merges elements of the contained streams using the ordering function.

use futures::{stream, StreamExt};
use stream_kmerge::kmerge;

let streams = vec![stream::iter(vec![5, 3, 1]), stream::iter(vec![4, 3, 2])];

assert_eq!(
    kmerge(streams).collect::<Vec<usize>>().await,
    vec![5, 4, 3, 3, 2, 1],
);