View source code
Display the source code in std/datetime/interval.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
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.

Module std.datetime.interval

Category Functions
Main types Interval Direction
Special intervals everyDayOfWeek everyMonth everyDuration
Special intervals NegInfInterval PosInfInterval
Underlying ranges IntervalRange NegInfIntervalRange PosInfIntervalRange
Flags PopFirst


everyDayOfWeek(dayOfWeek) Range-generating function.
everyDuration(duration) Range-generating function.
everyDuration(years, months, allowOverflow, duration) Range-generating function.
everyMonth(month) Range-generating function.


Interval Represents an interval of time.
IntervalRange A range over an Interval.
NegInfInterval Represents an interval of time which has negative infinity as its starting point.
NegInfIntervalRange A range over a NegInfInterval. It is an infinite range.
PosInfInterval Represents an interval of time which has positive infinity as its end point.
PosInfIntervalRange A range over a PosInfInterval. It is an infinite range.


Direction Indicates a direction in time. One example of its use is Interval's expand function which uses it to indicate whether the interval should be expanded backwards (into the past), forwards (into the future), or both.


PopFirst Flag!("popFirst") Used to indicate whether popFront should be called immediately upon creating a range. The idea is that for some functions used to generate a range for an interval, front is not necessarily a time point which would ever be generated by the range (e.g. if the range were every Sunday within an interval, but the interval started on a Monday), so there needs to be a way to deal with that. To get the first time point in the range to match what the function generates, then use PopFirst.yes to indicate that the range should have popFront called on it before the range is returned so that front is a time point which the function would generate. To let the first time point not match the generator function, use


Jonathan M Davis


Boost License 1.0.