Macro symmetric_difference_map_dyn

Source
macro_rules! symmetric_difference_map_dyn {
    ($($val:expr),*) => { ... };
}
Expand description

Computes the symmetric difference of zero or more SortedDisjointMap iterators, creating a new SortedDisjointMap 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 = RangeMapBlaze::from_iter([(1..=2, "a"), (5..=100, "a")]);
let b = CheckSortedDisjointMap::new([(2..=6, &"b")]);
let c = RangeMapBlaze::from_iter([(2..=2, "c"), (6..=200, "c")]);
let sym_diff = symmetric_difference_map_dyn!(a.range_values(), b, c.range_values());
assert_eq!(sym_diff.into_string(), r#"(1..=2, "a"), (3..=4, "b"), (6..=6, "a"), (101..=200, "c")"#);