Function stream_kmerge::kmerge_by
source · [−]pub fn kmerge_by<S, F>(
xs: impl IntoIterator<Item = S>,
f: F
) -> KWayMergeBy<S, FnComparator<F>> where
S: Stream + Unpin,
F: Fn(&S::Item, &S::Item) -> Ordering,
Expand description
Create a stream that merges elements of the contained streams.
use futures::{stream, StreamExt};
use stream_kmerge::kmerge_by;
let streams = vec![stream::iter(vec![1, 3, 5]), stream::iter(vec![2, 3, 4])];
assert_eq!(
kmerge_by(streams, |x: &usize, y: &usize| y.cmp(&x)).collect::<Vec<usize>>().await,
vec![1, 2, 3, 3, 4, 5],
);