Function iter_set::union_by_key [−][src]
pub fn union_by_key<T, L, R, K, F>(
a: L,
b: R,
key: F
) -> impl Iterator<Item = T> where
L: IntoIterator<Item = T>,
R: IntoIterator<Item = T>,
K: Ord,
F: FnMut(&T) -> K,
Expand description
Take the union of two sets represented by sorted, deduplicated iterators, using a key extraction function.
See union()
.
Examples
use iter_set::union_by_key;
let a = [(1, "a"), (2, "a")];
let b = [(2, "b"), (3, "b")];
assert!(union_by_key(&a, &b, |&(key, _)| key).eq(&[(1, "a"), (2, "a"), (3, "b")]));