[][src]Function iter_set::union_by_key

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, 

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