macro_rules! intersection_dyn {
($($val:expr),*) => { ... };
}Expand description
Intersects zero or more SortedDisjoint iterators, creating a new SortedDisjoint iterator.
The input iterators need not be of the same type.
For input iterators of the same type, intersection may be slightly faster.
§Performance
All work is done on demand, in one pass through the input iterators. Minimal memory is used.
§Examples
use range_set_blaze::prelude::*;
let a = RangeSetBlaze::from_iter([1u8..=6, 8..=9, 11..=15]);
let b = CheckSortedDisjoint::new([5..=13, 18..=29]);
let c = RangeSetBlaze::from_iter([38..=42]);
let not_c = !c.ranges();
let intersection = intersection_dyn!(a.ranges(), b, not_c);
assert_eq!(intersection.into_string(), "5..=6, 8..=9, 11..=13");