A range over a
NegInfInterval. It is an infinite range.
NegInfIntervalRange is only ever constructed by
However, when it is constructed, it is given a function,
is used to generate the time points which are iterated over.
takes a time point and returns a time point of the same type. For
instance, to iterate over all of the days in the interval
NegInfInterval!Date, pass a function to
bwdRange where that function took a
Date which was one day earlier. That
function would then be used by
iterate over the
Dates in the interval - though
obviously, since the range is infinite, use a function such as
std with it rather than iterating over all of the dates.
As the interval goes to negative infinity, the range is always iterated over
backwards, never forwards.
func must generate a time point going in
the proper direction of iteration, or a
DateTimeException will be thrown. So, the time
func generates must be earlier in time than the one passed
to it. If it's either identical or later in time, then a
DateTimeException will be thrown.
Also note that while normally the
end of an interval is excluded from
NegInfIntervalRange treats it as if it were included. This allows
for the same behavior as with
PosInfIntervalRange. This works
because none of
NegInfInterval's functions which care about whether
end is included or excluded are ever called by
interval returns a normal interval, so any
NegInfInterval functions which are called on it which care about
end is included or excluded will treat
end as excluded.
||The first time point in the range.|
||The function used to generate the next time point in the range.|
||The interval that this range currently covers.|
||Returns a copy of
Jonathan M Davis