Macro symmetric_difference_dyn

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