Package-level declarations

/docs/reference/ranges.html, Progressions and related top-level and extension functions.

Types

Link copied to clipboard

A progression of values of type Char.

Since Kotlin 1.0
Link copied to clipboard
class CharRange(start: Char, endInclusive: Char) : CharProgression, ClosedRange<Char>

A range of values of type Char.

Since Kotlin 1.0
Link copied to clipboard
interface ClosedRange<T : Comparable<T>>

Represents a range of values (for example, numbers or characters). See the Kotlin language documentation for more information.

Since Kotlin 1.0
Link copied to clipboard
open class IntProgression : Iterable<Int>

A progression of values of type Int.

Since Kotlin 1.0
Link copied to clipboard
class IntRange(start: Int, endInclusive: Int) : IntProgression, ClosedRange<Int>

A range of values of type Int.

Since Kotlin 1.0
Link copied to clipboard

A progression of values of type Long.

Since Kotlin 1.0
Link copied to clipboard
class LongRange(start: Long, endInclusive: Long) : LongProgression, ClosedRange<Long>

A range of values of type Long.

Since Kotlin 1.0

Functions

Link copied to clipboard
fun <T : Comparable<T>> T.coerceAtLeast(minimumValue: T): T
fun Byte.coerceAtLeast(minimumValue: Byte): Byte
fun Double.coerceAtLeast(minimumValue: Double): Double
fun Float.coerceAtLeast(minimumValue: Float): Float
fun Int.coerceAtLeast(minimumValue: Int): Int
fun Long.coerceAtLeast(minimumValue: Long): Long
fun Short.coerceAtLeast(minimumValue: Short): Short

Ensures that this value is not less than the specified minimumValue.

Since Kotlin 1.0
Link copied to clipboard
fun <T : Comparable<T>> T.coerceAtMost(maximumValue: T): T
fun Byte.coerceAtMost(maximumValue: Byte): Byte
fun Double.coerceAtMost(maximumValue: Double): Double
fun Float.coerceAtMost(maximumValue: Float): Float
fun Int.coerceAtMost(maximumValue: Int): Int
fun Long.coerceAtMost(maximumValue: Long): Long
fun Short.coerceAtMost(maximumValue: Short): Short

Ensures that this value is not greater than the specified maximumValue.

Since Kotlin 1.0
Link copied to clipboard
fun <T : Comparable<T>> T.coerceIn(range: ClosedRange<T>): T

Ensures that this value lies in the specified range.

Since Kotlin 1.0
fun <T : Comparable<T>> T.coerceIn(minimumValue: T?, maximumValue: T?): T
fun Byte.coerceIn(minimumValue: Byte, maximumValue: Byte): Byte
fun Double.coerceIn(minimumValue: Double, maximumValue: Double): Double
fun Float.coerceIn(minimumValue: Float, maximumValue: Float): Float
fun Int.coerceIn(minimumValue: Int, maximumValue: Int): Int
fun Long.coerceIn(minimumValue: Long, maximumValue: Long): Long
fun Short.coerceIn(minimumValue: Short, maximumValue: Short): Short

Ensures that this value lies in the specified range minimumValue..maximumValue.

Since Kotlin 1.0
Link copied to clipboard
@JvmName(name = "byteRangeContains")
operator fun ClosedRange<Byte>.contains(value: Double): Boolean
@JvmName(name = "byteRangeContains")
operator fun ClosedRange<Byte>.contains(value: Float): Boolean
@JvmName(name = "byteRangeContains")
operator fun ClosedRange<Byte>.contains(value: Int): Boolean
@JvmName(name = "byteRangeContains")
operator fun ClosedRange<Byte>.contains(value: Long): Boolean
@JvmName(name = "byteRangeContains")
operator fun ClosedRange<Byte>.contains(value: Short): Boolean
@JvmName(name = "doubleRangeContains")
operator fun ClosedRange<Double>.contains(value: Byte): Boolean
@JvmName(name = "doubleRangeContains")
operator fun ClosedRange<Double>.contains(value: Float): Boolean
@JvmName(name = "doubleRangeContains")
operator fun ClosedRange<Double>.contains(value: Int): Boolean
@JvmName(name = "doubleRangeContains")
operator fun ClosedRange<Double>.contains(value: Long): Boolean
@JvmName(name = "doubleRangeContains")
operator fun ClosedRange<Double>.contains(value: Short): Boolean
@JvmName(name = "floatRangeContains")
operator fun ClosedRange<Float>.contains(value: Byte): Boolean
@JvmName(name = "floatRangeContains")
operator fun ClosedRange<Float>.contains(value: Double): Boolean
@JvmName(name = "floatRangeContains")
operator fun ClosedRange<Float>.contains(value: Int): Boolean
@JvmName(name = "floatRangeContains")
operator fun ClosedRange<Float>.contains(value: Long): Boolean
@JvmName(name = "floatRangeContains")
operator fun ClosedRange<Float>.contains(value: Short): Boolean
@JvmName(name = "intRangeContains")
operator fun ClosedRange<Int>.contains(value: Byte): Boolean
@JvmName(name = "intRangeContains")
operator fun ClosedRange<Int>.contains(value: Double): Boolean
@JvmName(name = "intRangeContains")
operator fun ClosedRange<Int>.contains(value: Float): Boolean
@JvmName(name = "intRangeContains")
operator fun ClosedRange<Int>.contains(value: Long): Boolean
@JvmName(name = "intRangeContains")
operator fun ClosedRange<Int>.contains(value: Short): Boolean
@JvmName(name = "longRangeContains")
operator fun ClosedRange<Long>.contains(value: Byte): Boolean
@JvmName(name = "longRangeContains")
operator fun ClosedRange<Long>.contains(value: Double): Boolean
@JvmName(name = "longRangeContains")
operator fun ClosedRange<Long>.contains(value: Float): Boolean
@JvmName(name = "longRangeContains")
operator fun ClosedRange<Long>.contains(value: Int): Boolean
@JvmName(name = "longRangeContains")
operator fun ClosedRange<Long>.contains(value: Short): Boolean
@JvmName(name = "shortRangeContains")
operator fun ClosedRange<Short>.contains(value: Byte): Boolean
@JvmName(name = "shortRangeContains")
operator fun ClosedRange<Short>.contains(value: Double): Boolean
@JvmName(name = "shortRangeContains")
operator fun ClosedRange<Short>.contains(value: Float): Boolean
@JvmName(name = "shortRangeContains")
operator fun ClosedRange<Short>.contains(value: Int): Boolean
@JvmName(name = "shortRangeContains")
operator fun ClosedRange<Short>.contains(value: Long): Boolean

Checks if the specified value belongs to this range.

Since Kotlin 1.0
Link copied to clipboard
infix fun Byte.downTo(to: Byte): IntProgression
infix fun Byte.downTo(to: Int): IntProgression
infix fun Int.downTo(to: Byte): IntProgression
infix fun Int.downTo(to: Int): IntProgression
infix fun Int.downTo(to: Long): LongProgression
infix fun Int.downTo(to: Short): IntProgression
infix fun Long.downTo(to: Int): LongProgression
infix fun Short.downTo(to: Int): IntProgression

Returns a progression from this value down to the specified to value with the step -1.

Since Kotlin 1.0
Link copied to clipboard
operator fun <T : Comparable<T>> T.rangeTo(that: T): ClosedRange<T>

Creates a range from this Comparable value to the specified that value.

Since Kotlin 1.0
Link copied to clipboard

Returns a progression that goes over the same range in the opposite direction with the same step.

Since Kotlin 1.0
Link copied to clipboard

Returns a progression that goes over the same range with the given step.

Since Kotlin 1.0
Link copied to clipboard
infix fun Byte.until(to: Byte): IntRange
infix fun Byte.until(to: Int): IntRange
infix fun Byte.until(to: Long): LongRange
infix fun Byte.until(to: Short): IntRange
infix fun Char.until(to: Char): CharRange
infix fun Int.until(to: Byte): IntRange
infix fun Int.until(to: Int): IntRange
infix fun Int.until(to: Long): LongRange
infix fun Int.until(to: Short): IntRange
infix fun Long.until(to: Byte): LongRange
infix fun Long.until(to: Int): LongRange
infix fun Long.until(to: Long): LongRange
infix fun Long.until(to: Short): LongRange
infix fun Short.until(to: Byte): IntRange
infix fun Short.until(to: Int): IntRange
infix fun Short.until(to: Long): LongRange
infix fun Short.until(to: Short): IntRange

Returns a range from this value up to but excluding the specified to value.

Since Kotlin 1.0