View source code
Display the source code in std/algorithm/setops.d from which this page was generated on
github.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
std.algorithm.setops.set_intersection
- multiple declarations
- Function setIntersection
- Struct SetIntersection
Function setIntersection
Lazily computes the intersection of two or more input ranges
. The ranges
ranges
are assumed to be sorted by less
. The element
types of the ranges
must have a common type.
Prototype
SetIntersection!(less,Rs) setIntersection(alias less, Rs...)( Rs ranges ) if (Rs.length >= 2 && allSatisfy!(isInputRange, Rs) && !is(CommonType!(staticMap!(ElementType, Rs)) == void));
Parameters
Name | Description |
---|---|
less | Predicate the given ranges are sorted by. |
ranges | The ranges to compute the intersection for. |
Returns
A range containing the intersection of the given ranges
.
Example
import std.algorithm.comparison : equal; int[] a = [ 1, 2, 4, 5, 7, 9 ]; int[] b = [ 0, 1, 2, 4, 7, 8 ]; int[] c = [ 0, 1, 4, 5, 7, 8 ]; assert(equal(setIntersection(a, a), a)); assert(equal(setIntersection(a, b), [1, 2, 4, 7])); assert(equal(setIntersection(a, b, c), [1, 4, 7]));
Struct SetIntersection
Lazily computes the intersection of two or more input ranges ranges
. The ranges are assumed to be sorted by less
. The element
types of the ranges must have a common type.
Parameters
Name | Description |
---|---|
less | Predicate the given ranges are sorted by. |
ranges | The ranges to compute the intersection for. |
Returns
A range containing the intersection of the given ranges.
Example
import std.algorithm.comparison : equal; int[] a = [ 1, 2, 4, 5, 7, 9 ]; int[] b = [ 0, 1, 2, 4, 7, 8 ]; int[] c = [ 0, 1, 4, 5, 7, 8 ]; assert(equal(setIntersection(a, a), a)); assert(equal(setIntersection(a, b), [1, 2, 4, 7])); assert(equal(setIntersection(a, b, c), [1, 4, 7]));