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.linear
only
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.