Search
View source code
Display the source code in std/datetime/interval.d from which this page was generated on github.
Report a bug
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.

# Struct `std.datetime.interval.PosInfInterval`

Represents an interval of time which has positive infinity as its end point.

``` struct PosInfInterval(TP) ; ```

Any ranges which iterate over a `PosInfInterval` are infinite. So, the main purpose of using `PosInfInterval` is to create an infinite range which starts at a fixed point in time and goes to positive infinity.

NameDescription
`this`

## Properties

NameTypeDescription
`begin`[get] `TP`The starting point of the interval. It is included in the interval.
`begin`[set] `TP`The starting point of the interval. It is included in the interval.

## Methods

NameDescription
`contains` Whether the given time point is within this interval.
`contains` Whether the given interval is completely within this interval.
`contains` Whether the given interval is completely within this interval.
`contains` Whether the given interval is completely within this interval.
`expand` Expands the interval forwards and/or backwards in time. Effectively, it subtracts the given number of months/years from `begin`.
`expand` Expands the interval backwards in time. Effectively, it does `begin -= duration`.
`fwdRange` Returns a range which iterates forward over the interval, starting at `begin`, using func to generate each successive time point.
`intersection` Returns the intersection of two intervals
`intersection` Returns the intersection of two intervals
`intersection` Returns the intersection of two intervals
`intersects` Whether the given interval overlaps this interval.
`intersects` Whether the given interval overlaps this interval.
`intersects` Whether the given interval overlaps this interval.
`isAdjacent` Whether the given interval is adjacent to this interval.
`isAdjacent` Whether the given interval is adjacent to this interval.
`isAdjacent` Whether the given interval is adjacent to this interval.
`isAfter` Whether this interval is after the given time point.
`isAfter` Whether this interval is after the given interval and does not intersect it.
`isAfter` Whether this interval is after the given interval and does not intersect it.
`isAfter` Whether this interval is after the given interval and does not intersect it.
`isBefore` Whether this interval is before the given time point.
`isBefore` Whether this interval is before the given interval and does not intersect it.
`isBefore` Whether this interval is before the given interval and does not intersect it.
`isBefore` Whether this interval is before the given interval and does not intersect it.
`merge` Returns the union of two intervals
`merge` Returns the union of two intervals
`opAssign`
`shift` Shifts the `begin` of this interval forward or backwards in time by the given duration (a positive duration shifts the interval forward; a negative duration shifts it backward). Effectively, it does `begin += duration`.
`shift` Shifts the `begin` of this interval forward or backwards in time by the given number of years and/or months (a positive number of years and months shifts the interval forward; a negative number shifts it backward). It adds the years the given years and months to `begin`. It effectively calls `add!"years"()` and then `add!"months"()` on `begin` with the given number of years and months.
`span` Returns an interval that covers from the earliest time point of two intervals up to (but not including) the latest time point of two intervals.
`span` Returns an interval that covers from the earliest time point of two intervals up to (but not including) the latest time point of two intervals.
`toString` Converts this interval to a string.