Template std.range.SortedRange.upperBound
This function searches with policy sp to find the largest right
subrange on which pred(value, x) is true for all x
(e.g., if pred is "less than", returns the portion of the range
with elements strictly greater than value). The search schedule
and its complexity are documented in SearchPolicy.
For ranges that do not offer random access,
is the SearchPolicy.linearonly policy allowed (and it must be specified explicitly lest it exposes
user code to unexpected inefficiencies). For random-access searches, all
policies are allowed, and is the default.
SearchPolicy.binarySearch
Arguments
template upperBound(SearchPolicy sp, V);
Functions
| Function name | Description |
|---|---|
| upperBound |
See Also
STL's upper_bound.
Example
auto a = assumeSorted([ 1, 2, 3, 3, 3, 4, 4, 5, 6 ]); auto p = a.upperBound(3); assert(equal(p, [4, 4, 5, 6]));
Authors
Andrei Alexandrescu, David Simcha, and Jonathan M Davis. Credit for some of the ideas in building this module goes to Leonardo Maffi.