View source code
Display the source code in std/algorithm/sorting.d from which this
page was generated on github.
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
local clone.
Template std.algorithm.sorting.multiSort
Sorts a range by multiple keys.
template multiSort(less...)
;
The call multiSort!("a.id < b.id",
"a.date > b.date")(r)
sorts the range r
by id
ascending,
and sorts elements that have the same id
by date
descending. Such a call is equivalent to sort!"a.id != b.id ? a.id
< b.id : a.date > b.date"(r)
, but multiSort
is faster because it
does fewer comparisons (in addition to being more convenient).
Contained Functions
Name | Description |
---|---|
multiSort |
Returns
The initial range wrapped as a SortedRange
with its predicates
converted to an equivalent single predicate.
Example
import std .algorithm .mutation : SwapStrategy;
static struct Point { int x, y; }
auto pts1 = [ Point(0, 0), Point(5, 5), Point(0, 1), Point(0, 2) ];
auto pts2 = [ Point(0, 0), Point(0, 1), Point(0, 2), Point(5, 5) ];
multiSort!("a.x < b.x", "a.y < b.y", SwapStrategy .unstable)(pts1);
writeln(pts1); // pts2
Authors
License
Copyright © 1999-2024 by the D Language Foundation | Page generated by ddox.