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 func
interval
, pass a function to
PosInfInterval
!Date
's PosInfInterval
fwdRange
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 popFront
interval
- 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 func
DateTimeException
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 func
DateTimeException
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