Ranges

object Ranges(source)

A collection of extension functions that enrich ClosedRange.

Functions

Link copied to clipboard

Checks whether two ranges coincide. It's a different way of checking if they're equals, which doesn't depend on their actual implementation. Note that the way you obtain a range may influence the actual class used, and you can have two coincident ranges which are not equal because of different classes.

Link copied to clipboard

Checks whether the range contains the other one. This method is faster than checking if the range contains both of the endpoints of other.

Link copied to clipboard

Given a non-empty list of points represented as vectors, this method finds the extreme coordinates (i.e. min and max coordinates) on the X-axis, these are used to create the returned ClosedRange.

Link copied to clipboard

Given a non-empty list of points represented as vectors, this method finds the extreme coordinates (i.e. min and max coordinates) on the Y-axis, these are used to create the returned ClosedRange.

Link copied to clipboard

Finds the intersection between two ranges, the resulting range may feature a single value (if the ranges only share an endpoint) or can be null, if they don't intersect at all.

Link copied to clipboard

Checks whether the range intersects the other one.

Link copied to clipboard

Checks whether two ranges intersect, excluding their bounds (i.e., excluding both ClosedRange.start and ClosedRange.endInclusive). This means false is returned in case the ranges share a single endpoint.

Link copied to clipboard
infix operator fun <T : Comparable<T>> ClosedRange<T>.minus(other: ClosedRange<T>): List<ClosedRange<T>>

Performs a subtraction between ranges. The operation can produce an empty list (e.g. if the current range is contained in the other one), a list featuring a single element, or a list featuring two elements (e.g. if the current range contains the other one).

Link copied to clipboard
fun <T : Comparable<T>> rangeFromUnordered(bound1: T, bound2: T): ClosedRange<T>

Creates a ClosedRange from a couple of unordered values.

Link copied to clipboard

Subtracts all the given ranges from the current one. See ClosedRange.minus.