View source code
Display the source code in std/algorithm/searching.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.
Function std.algorithm.searching.until
Lazily iterates
until the element range
e
for which
pred(e,
is true.
sentinel
)
Prototypes
Until!(pred,Range,Sentinel) until(alias pred, Range, Sentinel)( Range range, Sentinel sentinel, OpenRight openRight = OpenRight.yes ) if (!is(Sentinel == OpenRight)); Until!(pred,Range,void) until(alias pred, Range)( Range range, OpenRight openRight = OpenRight.yes );
Parameters
Name | Description |
---|---|
pred | Predicate to determine when to stop. |
range | The input range to iterate over. |
sentinel | The element to stop at. |
openRight | Determines whether the element for which the given predicate is
true should be included in the resulting range ( ), or
not ( ). |
Returns
An input range that
iterates over the original range
's elements, but ends when the specified
predicate becomes true. If the original range
is a
forward range or
higher, this range
will be a forward range
.
Example
import std.algorithm.comparison : equal; int[] a = [ 1, 2, 4, 7, 7, 2, 4, 7, 3, 5]; assert(equal(a.until(7), [1, 2, 4][])); assert(equal(a.until(7, OpenRight.no), [1, 2, 4, 7][]));