#intersection #iterator #sorting

sorted_intersection

Intersection Iterator Over Sorted Iterators

6 releases (stable)

1.2.0 May 15, 2020
1.1.0 May 14, 2020
1.0.2 May 3, 2020
0.1.0 Apr 21, 2020

#1449 in Algorithms

MIT license

5KB

Intersection iterator over sorted iterators

Iterator with items that are contained in all inner iterators i. e. intersection iterator

Example

use sorted_intersection::SortedIntersection;

let numbers1 = vec![3, 6, 9, 18, 19, 21, 23, 27];
let numbers2 = vec![6, 7, 8, 9, 18];
let numbers3 = vec![5, 6, 9, 18, 25, 27];
let mut iters = [numbers1.iter(), numbers2.iter(), numbers3.iter()];

let mut intersection_iter = SortedIntersection::new(&mut iters);

assert_eq!(intersection_iter.next(), Some(&6));
assert_eq!(intersection_iter.next(), Some(&9));
assert_eq!(intersection_iter.next(), Some(&18));
assert_eq!(intersection_iter.next(), None);

lib.rs:

Intersection iterator over sorted iterators

No runtime deps