Returns true iff the tagged intervals intersect.
Returns true iff the tagged intervals do not intersect and this > other.
Returns true iff the tagged intervals do not intersect and this < other.
Returns the intersection of both intervals; empty if tags differ.
Returns the difference of both intervals.
Returns true iff this is a subset of other, ie. fully included _in_.
Returns the intersection of both intervals; empty if tags differ.
Begin of this interval as TaggedPoint.
Returns true iff the interval is empty. An interval is empty iff begin == end.
End of this interval as TaggedPoint.
Returns the size of this interval.
Returns the convex hull of the intervals.
static enum emptyTag = 42; alias R = Region!(int, int, "bucketId", emptyTag); alias TI = R.TaggedInterval; TI emptyInterval; // Default constructor produces empty interval. assert((emptyInterval).empty); assert(emptyInterval.tag == emptyTag); auto ti1 = TI(1, 0, 10); // The tag can be aliased: assert(ti1.tag == ti1.bucketId); auto ti2 = TI(1, 5, 15); // Tagged intervals with the same tag behave like regular intervals: assert((ti1 & ti2) == TI(1, 5, 10)); auto ti3 = TI(2, 0, 10); // Tagged intervals with different tags are distinct: assert((ti1 & ti3).empty);
This is a right-open interval [begin, end$(RPAREN) tagged with tag. If tagAlias is given then the tag may be access as a property of that name.