macro_rules! symmetric_difference_dyn {
($($val:expr),*) => { ... };
}Expand description
Computes the symmetric difference of 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, symmetric_difference 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([1..=6, 8..=9, 11..=15]);
let b = CheckSortedDisjoint::new([5..=13, 18..=29]);
let c = RangeSetBlaze::from_iter([38..=42]);
let sym_diff = symmetric_difference_dyn!(a.ranges(), b, c.ranges());
assert_eq!(sym_diff.into_string(), "1..=4, 7..=7, 10..=10, 14..=15, 18..=29, 38..=42");