Struct std.datetime.PosInfIntervalRange
A range over a . It is an infinite range.
PosInfInterval
is only ever constructed by PosInfIntervalRange.
However, when it is constructed, it is given a function, PosInfInterval, which
is used to generate the time points which are iterated over. func
takes a time point and returns a time point of the same type. For
instance, to iterate
over all of the days in the funcinterval , pass a function to
PosInfInterval!Date's PosInfIntervalfwdRange where that function took a Date and
returned a Date which was one day later. That function would then be
used by 's PosInfIntervalRange to iterate over the
Dates in the popFrontinterval - though obviously, since the range is infinite,
use a function such as std.range.take with it rather than
iterating over all of the dates.
As the interval goes to positive infinity, the range is always iterated over
forwards, never backwards. must generate a time point going in
the proper direction of iteration, or a funcDateTimeException will be
thrown. So, the time points that generates must be later in time
than the one passed to it. If it's either identical or earlier in time, then
a funcDateTimeException will be thrown.
Properties
| Name | Type | Description |
|---|---|---|
front
[get]
|
TP |
The first time point in the range. |
func
[get]
|
TP delegate(in TP) |
The function used to generate the next time point in the range. |
interval
[get]
|
PosInfInterval!TP |
The interval that this range currently covers.
|
save
[get]
|
PosInfIntervalRange |
Returns a copy of this.
|
Methods
| Name | Description |
|---|---|
opAssign
|
|
popFront
|
Pops from the range, using to generate the next
time point in the range.
|
Authors
Jonathan M Davis and Kato Shoichi