abstract class RangeSet<T : Comparable<T>> : MutableSet<ClosedRange<T>>, Cloneable (source)Base class for implementing a MutableSet of ClosedRanges.
Ranges in the set will always be in a normalized state. This means that ranges are kept in order and overlapping or adjacent ranges will be joined.
Some operations are not designed to be thread-safe. Wrap this in Collections.synchronizedSet if thread-safety is needed.
T - the type of ranges in this set| <init> |
RangeSet()Creates a set with no ranges. RangeSet(ranges: List<ClosedRange<T>>)RangeSet(rangeSet: RangeSet<T>)Creates a set with ranges shallow-copied from another RangeSet. |
| size |
open val size: Int |
| add |
open fun add(element: ClosedRange<T>): BooleanAdds range of values to the set; addition set logic. |
| addAll |
open fun addAll(elements: Collection<ClosedRange<T>>): BooleanAdds ranges of values to the set; addition set logic. |
| clear |
open fun clear(): UnitRemoves all values from the set. |
| clone |
abstract fun clone(): RangeSet<T> |
| contains |
open fun contains(element: ClosedRange<T>): BooleanChecks if all values in the specified range are present in the set. |
| containsAll |
open fun containsAll(elements: Collection<ClosedRange<T>>): BooleanChecks if all values in the specified ranges are present in the set. |
| containsValue |
fun containsValue(value: T): BooleanChecks if the specified value is present in the set. |
| createRange |
abstract fun createRange(start: T, endInclusive: T): ClosedRange<T> |
| decrementValue |
abstract fun decrementValue(value: T): T |
| difference |
fun difference(element: ClosedRange<T>): RangeSet<T>Creates a new RangeSet containing values not present in this set within the specified range. |
| differenceAll |
fun differenceAll(elements: Collection<ClosedRange<T>>): RangeSet<T>Creates a new RangeSet containing values not present in this set within the specified ranges. |
| equals |
open fun equals(other: Any?): Boolean |
| gaps |
fun gaps(): RangeSet<T>Creates a new RangeSet containing missing values between the ranges of this set. |
| hashCode |
open fun hashCode(): Int |
| incrementValue |
abstract fun incrementValue(value: T): T |
| isEmpty |
open fun isEmpty(): Boolean |
| iterator |
open fun iterator(): MutableIterator<ClosedRange<T>> |
| remove |
open fun remove(element: ClosedRange<T>): BooleanRemoves a range of values from the set; subtraction set logic. |
| removeAll |
open fun removeAll(elements: Collection<ClosedRange<T>>): BooleanRemoves ranges of values from the set; subtraction set logic. |
| retain |
fun retain(element: ClosedRange<T>): BooleanRemoves all values from set except those contained in the specified range; intersection set logic. |
| retainAll |
open fun retainAll(elements: Collection<ClosedRange<T>>): BooleanRemoves all values from set except those contained in the specified ranges; intersection set logic. |
| CharRangeSet |
class CharRangeSet : RangeSet<Char> |
| IntRangeSet |
class IntRangeSet : RangeSet<Int> |
| LongRangeSet |
class LongRangeSet : RangeSet<Long> |