Module ddash.algorithm.intersection

Creates a range of unique values that are included in all given ranges

Example

assert([1, 2, 3].intersection([1], 3).equal([1, 3]));

import std.math: ceil;
assert([2.1, 1.2].intersection!ceil([2.3, 3.4]).equal([2.1]));
assert([2.1, 1.2].intersection!((a, b) => ceil(a) == ceil(b))([2.3, 3.4]).equal([2.1]));

struct A {
    int value;
}
assert([A(1), A(2), A(3)].intersection!((a, b) => a.value == b.value)([A(2), A(3)]).equal([A(2), A(3)]));

Functions

NameDescription
intersection(range, values) Creates a range of unique values that are included in all given ranges