[−][src]Function iter_set::cmp_by_key
pub fn cmp_by_key<T, L, R, K, F>(a: L, b: R, key: F) -> Option<Ordering> where
L: IntoIterator<Item = T>,
R: IntoIterator<Item = T>,
K: Ord,
F: FnMut(&T) -> K,
Compare two sets represented by sorted, deduplicated iterators, using a key extraction function.
See cmp()
.
Examples
use std::cmp::Ordering::{Equal, Greater, Less}; use iter_set::cmp_by_key; let a = [(1, "a"), (2, "b"), (3, "c")]; let b = [(2, "d"), (3, "a")]; let c = [(2, "b"), (3, "c"), (4, "d")]; assert_eq!(cmp_by_key(&a, &b, |&(key, _)| key), Some(Greater)); assert_eq!(cmp_by_key(&b, &b, |&(key, _)| key), Some(Equal)); assert_eq!(cmp_by_key(&b, &c, |&(key, _)| key), Some(Less)); assert_eq!(cmp_by_key(&a, &c, |&(key, _)| key), None);