The OpenD Programming Language

PosInfInterval.merge

Returns the union of two intervals

  1. PosInfInterval merge(Interval!TP interval)
    struct PosInfInterval(TP)
    const
    merge
    (
    scope const Interval!TP interval
    )
  2. PosInfInterval merge(PosInfInterval interval)

Parameters

interval Interval!TP

The interval to merge with this interval.

Throws

std.datetime.date.DateTimeException if the two intervals do not intersect and are not adjacent or if the given interval is empty.

Note: There is no overload for merge which takes a NegInfInterval, because an interval going from negative infinity to positive infinity is not possible.

Examples

assert(PosInfInterval!Date(Date(1996, 1, 2)).merge(
            Interval!Date(Date(1990, 7, 6), Date(2000, 8, 2))) ==
       PosInfInterval!Date(Date(1990, 7 , 6)));

assert(PosInfInterval!Date(Date(1996, 1, 2)).merge(
            Interval!Date(Date(1999, 1, 12), Date(2011, 9, 17))) ==
       PosInfInterval!Date(Date(1996, 1 , 2)));

Meta