Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
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
a local clone.
std.algorithm
This package implements generic algorithms oriented towards the processing of
sequences. Sequences processed by these functions define range-based
interfaces. See also Reference on ranges and
tutorial on ranges.
Algorithms are categorized into the following submodules:
Many functions in this package are parameterized with a predicate.
The predicate may be any suitable callable type
(a function, a delegate, a functor, or a lambda), or a
compile-time string. The string may consist of any legal D
expression that uses the symbol a (for unary functions) or the
symbols a and b (for binary functions). These names will NOT
interfere with other homonym symbols in user code because they are
evaluated in a different context. The default for all binary
comparison predicates is "a == b" for unordered operations and
"a < b" for ordered operations.
Example
int[] a = ...; static bool greater(int a, int b) { return a > b; } sort!greater(a); // predicate as alias sort!((a, b) => a > b)(a); // predicate as a lambda. sort!"a > b"(a); // predicate as string // (no ambiguity with array name) sort(a); // no predicate, "a < b" is implicit
License:
Authors:
Source std/algorithm/package.d
Copyright © 1999-2024 by the D Language Foundation | Page generated by
Ddoc on Fri Dec 20 03:43:27 2024