Range<TYPE extends Comparable<TYPE>> class abstract

Implemented types
Implementers

Constructors

Range.new(TYPE? _start, TYPE? _end, {bool startInclusive = true, bool endInclusive = false})
Creates a new range with the given start and end values and inclusion flags.

Properties

endInclusive bool
no setter
hashCode int
The hash code for this object.
no setteroverride
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
startInclusive bool
no setter

Methods

compareTo(Range<Comparable> other) int
Compares this range to another range. First compare starts of the ranges. If start of this range is less than the start of the other, return -1, if it's greater, return 1. If both starts are equal, compare ends of the ranges.
override
contains(Object? obj) bool
Detect whether this range contains an element.
end({bool? inclusive}) → TYPE?
Returns the end value of the range, optionally with inclusion overridden.
except(Range<TYPE> that) List<Range<TYPE>>
The difference between two ranges is the set of all elements that are in this range but not in the other range.
intersect(Range<TYPE> that) Range<TYPE>?
The intersection of two ranges is the set of all elements that are in both ranges.
isAdjacentTo(Range<TYPE> that) bool
Test whether this range is adjacent to another range. The ranges are adjacent if the end of this range is the same as the start of the other range or vice versa.
isSubsetOf(Range<TYPE> that, {bool strict = false}) bool
Evaluate whether this range is a subset of another.
isSupersetOf(Range<TYPE> that, {bool strict = false}) bool
Evaluate whether this range is a superset of another.
newInstance() Range<TYPE>
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
overlaps(Range<TYPE> that) bool
Check whether this range overlaps with another range.
start({bool? inclusive}) → TYPE?
Returns the start value of the range, optionally with inclusion overridden.
toString() String
A string representation of this object.
override
union(Range<TYPE> that) List<Range<TYPE>>
The union of two ranges is the set of all elements that are in either range.

Operators

operator *(Range<TYPE> that) Range<TYPE>?
Operator for the intersection of this range and another range.
operator +(Range<TYPE> that) List<Range<TYPE>>
Operator for the union of this range and another range.
operator -(Range<TYPE> that) List<Range<TYPE>>
Operator for the difference between this range and another range.
operator ==(Object that) bool
Ranges are equal if they have same start and end dates and inclusions.
override