@uml @pure @safe
@uml Are two intervals adjacent such as 0..41 and 42..42? @pure @safe
@uml Return the interval with elements from this not in other; other must not be totally enclosed (properly contained) within this, which would result in two disjoint intervals instead of the single one returned by this method. @safe
@uml Are both ranges disjoint? I.e., no overlap? @pure @safe
@uml @pure @safe
@uml @pure @safe
@uml Return the interval in common between this and o @safe
@uml return number of elements between a and b inclusively. x..x is length 1. if b < a, then length is 0. 9..10 has length 2. @pure @safe
@uml @pure @safe
@uml Does this.a start after other.b? May or may not be disjoint @pure @safe
@uml Does this start completely after other? Disjoint @pure @safe
@uml Does this start after other? NonDisjoint @pure @safe
@uml Does this start completely before other? Disjoint @pure @safe
@uml Does this start at or before other? Nondisjoint @pure @safe
@uml @override @pure @safe
@uml Return the interval computed from combining this and other @safe
@uml Interval objects are used readonly so share all with the same single value a==b up to some max size. Use an array as a perfect hash. Return shared object for 0..INTERVAL_POOL_MAX_VALUE or a new Interval object with a..a in it. On Java.g4, 218623 IntervalSets have a..a (set with 1 element). @safe
@uml An immutable inclusive interval a..b