Module ddash.algorithm.difference

Creates a range of values not included in the other given ranges.

Example

import std.algorithm: map;
assert([1, 2, 3].difference([1], 3).equal([2]));

import std.math: ceil;
assert([2.1, 2.4, 1.2, 2.9].difference!ceil([2.3, 0.1]).equal([1.2]));
assert([2.1, 2.4, 1.2, 2.9].difference!((a, b) => ceil(a) < ceil(b))([2.3, 3.4]).equal([1.2]));

struct A {
    int value;
}

assert([A(1), A(2), A(3)].difference!((a, b) => a.value < b.value)([A(2), A(3)]).equal([A(1)]));

Functions

NameDescription
difference(range, values) Creates a range of values not included in the other given ranges.
differenceBy(range, values) Same as difference except you can make it operatete on a publicly accessible member of ElementType!Range