ReadonlyrangesThe ranges array like this reader encapsulates. Ranges are [start, end] tuples, they will always be ordered, never touch, and never overlap.
Adds the given range to this list.
If end is less than start, the range will not be added.
Ranges will be merged when there is overlap or touching. Example,
add(1, 4); add(2, 5) results in the final ranges: [1, 5]
Clears all ranges.
Returns the range at the given value, or null if all ranges are outside the given tolerance.
Range values are considered inclusive.
That is, a ReadonlyRanges with [0, 1] will return [0, 1] for value 1.
The value to compare to current ranges.
The tolerance the value may be outside a range and still considered to be within. Default: 0
Returns the range that includes the entire from-to span, within a given tolerance.
Range values are considered inclusive.
That is, a ReadonlyRanges with [0, 2] will return [0, 2] for
getRangeContaining(2, 2) or getRangeContaining(0, 0).
from does not need to be lesser than to.
Optionaltolerance: numberReturns all ranges where at least part of the range is within the given from-to span.
from does not need to be lesser than to.
Optionaltolerance: numberRemoves the given range span from this list. Ranges partially intersecting will be changed to not include the start-end span. If start is after end, nothing will be removed.
Returns a string representation of an object.
A collection of Range start/end tuples. When ranges are added they are merged and sorted, making for fast within range checks.