Ranges, Progressions and related top-level and extension functions.
A progression of values of type Char
.
open class CharProgression : Iterable<Char>
A range of values of type Char
.
class CharRange : CharProgression, ClosedRange<Char>
Represents a range of floating point numbers. Extends ClosedRange interface providing custom operation lessThanOrEquals for comparing values of range domain type.
interface ClosedFloatingPointRange<T : Comparable<T>> : ClosedRange<T>
Represents a range of values (for example, numbers or characters). See the Kotlin language documentation for more information.
interface ClosedRange<T : Comparable<T>>
A progression of values of type Int
.
open class IntProgression : Iterable<Int>
A range of values of type Int
.
class IntRange : IntProgression, ClosedRange<Int>
A progression of values of type Long
.
open class LongProgression : Iterable<Long>
A range of values of type Long
.
class LongRange : LongProgression, ClosedRange<Long>
A progression of values of type UInt
.
open class UIntProgression : Iterable<UInt>
A range of values of type UInt
.
class UIntRange : UIntProgression, ClosedRange<UInt>
A progression of values of type ULong
.
open class ULongProgression : Iterable<ULong>
A range of values of type ULong
.
class ULongRange : ULongProgression, ClosedRange<ULong>
Ensures that this value is not less than the specified minimumValue.
fun <T : Comparable<T>> T.coerceAtLeast(minimumValue: T): T
fun Byte.coerceAtLeast(minimumValue: Byte): Byte
fun Short.coerceAtLeast(minimumValue: Short): Short
fun Int.coerceAtLeast(minimumValue: Int): Int
fun Long.coerceAtLeast(minimumValue: Long): Long
fun Float.coerceAtLeast(minimumValue: Float): Float
fun Double.coerceAtLeast(minimumValue: Double): Double
fun UInt.coerceAtLeast(minimumValue: UInt): UInt
fun ULong.coerceAtLeast(minimumValue: ULong): ULong
fun UByte.coerceAtLeast(minimumValue: UByte): UByte
fun UShort.coerceAtLeast(minimumValue: UShort): UShort
Ensures that this value is not greater than the specified maximumValue.
fun <T : Comparable<T>> T.coerceAtMost(maximumValue: T): T
fun Byte.coerceAtMost(maximumValue: Byte): Byte
fun Short.coerceAtMost(maximumValue: Short): Short
fun Int.coerceAtMost(maximumValue: Int): Int
fun Long.coerceAtMost(maximumValue: Long): Long
fun Float.coerceAtMost(maximumValue: Float): Float
fun Double.coerceAtMost(maximumValue: Double): Double
fun UInt.coerceAtMost(maximumValue: UInt): UInt
fun ULong.coerceAtMost(maximumValue: ULong): ULong
fun UByte.coerceAtMost(maximumValue: UByte): UByte
fun UShort.coerceAtMost(maximumValue: UShort): UShort
Ensures that this value lies in the specified range minimumValue..maximumValue.
fun <T : Comparable<T>> T.coerceIn( minimumValue: T?, maximumValue: T? ): T
fun Byte.coerceIn( minimumValue: Byte, maximumValue: Byte ): Byte
fun Short.coerceIn( minimumValue: Short, maximumValue: Short ): Short
fun Int.coerceIn(minimumValue: Int, maximumValue: Int): Int
fun Long.coerceIn( minimumValue: Long, maximumValue: Long ): Long
fun Float.coerceIn( minimumValue: Float, maximumValue: Float ): Float
fun Double.coerceIn( minimumValue: Double, maximumValue: Double ): Double
fun UInt.coerceIn( minimumValue: UInt, maximumValue: UInt ): UInt
fun ULong.coerceIn( minimumValue: ULong, maximumValue: ULong ): ULong
fun UByte.coerceIn( minimumValue: UByte, maximumValue: UByte ): UByte
fun UShort.coerceIn( minimumValue: UShort, maximumValue: UShort ): UShort
Ensures that this value lies in the specified range.
fun <T : Comparable<T>> T.coerceIn( range: ClosedFloatingPointRange<T> ): T
fun <T : Comparable<T>> T.coerceIn(range: ClosedRange<T>): T
fun Int.coerceIn(range: ClosedRange<Int>): Int
fun Long.coerceIn(range: ClosedRange<Long>): Long
fun UInt.coerceIn(range: ClosedRange<UInt>): UInt
fun ULong.coerceIn(range: ClosedRange<ULong>): ULong
Returns true
if this range contains the specified element.
operator fun IntRange.contains(element: Int?): Boolean
operator fun LongRange.contains(element: Long?): Boolean
operator fun CharRange.contains(element: Char?): Boolean
operator fun UIntRange.contains(element: UInt?): Boolean
operator fun ULongRange.contains(element: ULong?): Boolean
Checks if the specified value belongs to this range.
operator fun ClosedRange<Int>.contains(value: Byte): Boolean
operator fun ClosedRange<Long>.contains(value: Byte): Boolean
operator fun ClosedRange<Short>.contains( value: Byte ): Boolean
operator fun ClosedRange<Double>.contains( value: Byte ): Boolean
operator fun ClosedRange<Float>.contains( value: Byte ): Boolean
operator fun ClosedRange<Int>.contains( value: Double ): Boolean
operator fun ClosedRange<Long>.contains( value: Double ): Boolean
operator fun ClosedRange<Byte>.contains( value: Double ): Boolean
operator fun ClosedRange<Short>.contains( value: Double ): Boolean
operator fun ClosedRange<Float>.contains( value: Double ): Boolean
operator fun ClosedRange<Int>.contains(value: Float): Boolean
operator fun ClosedRange<Long>.contains( value: Float ): Boolean
operator fun ClosedRange<Byte>.contains( value: Float ): Boolean
operator fun ClosedRange<Short>.contains( value: Float ): Boolean
operator fun ClosedRange<Double>.contains( value: Float ): Boolean
operator fun ClosedRange<Long>.contains(value: Int): Boolean
operator fun ClosedRange<Byte>.contains(value: Int): Boolean
operator fun ClosedRange<Short>.contains(value: Int): Boolean
operator fun ClosedRange<Double>.contains( value: Int ): Boolean
operator fun ClosedRange<Float>.contains(value: Int): Boolean
operator fun ClosedRange<Int>.contains(value: Long): Boolean
operator fun ClosedRange<Byte>.contains(value: Long): Boolean
operator fun ClosedRange<Short>.contains( value: Long ): Boolean
operator fun ClosedRange<Double>.contains( value: Long ): Boolean
operator fun ClosedRange<Float>.contains( value: Long ): Boolean
operator fun ClosedRange<Int>.contains(value: Short): Boolean
operator fun ClosedRange<Long>.contains( value: Short ): Boolean
operator fun ClosedRange<Byte>.contains( value: Short ): Boolean
operator fun ClosedRange<Double>.contains( value: Short ): Boolean
operator fun ClosedRange<Float>.contains( value: Short ): Boolean
operator fun UIntRange.contains(value: UByte): Boolean
operator fun ULongRange.contains(value: UByte): Boolean
operator fun ULongRange.contains(value: UInt): Boolean
operator fun UIntRange.contains(value: ULong): Boolean
operator fun UIntRange.contains(value: UShort): Boolean
operator fun ULongRange.contains(value: UShort): Boolean
Returns true
if this iterable range contains the specified element.
operator fun <T : Any, R> R.contains( element: T? ): Boolean where R : Iterable<T>, R : ClosedRange<T>
Returns a progression from this value down to the specified to value with the step -1.
infix fun Int.downTo(to: Byte): IntProgression
infix fun Long.downTo(to: Byte): LongProgression
infix fun Byte.downTo(to: Byte): IntProgression
infix fun Short.downTo(to: Byte): IntProgression
infix fun Char.downTo(to: Char): CharProgression
infix fun Int.downTo(to: Int): IntProgression
infix fun Long.downTo(to: Int): LongProgression
infix fun Byte.downTo(to: Int): IntProgression
infix fun Short.downTo(to: Int): IntProgression
infix fun Int.downTo(to: Long): LongProgression
infix fun Long.downTo(to: Long): LongProgression
infix fun Byte.downTo(to: Long): LongProgression
infix fun Short.downTo(to: Long): LongProgression
infix fun Int.downTo(to: Short): IntProgression
infix fun Long.downTo(to: Short): LongProgression
infix fun Byte.downTo(to: Short): IntProgression
infix fun Short.downTo(to: Short): IntProgression
infix fun UByte.downTo(to: UByte): UIntProgression
infix fun UInt.downTo(to: UInt): UIntProgression
infix fun ULong.downTo(to: ULong): ULongProgression
infix fun UShort.downTo(to: UShort): UIntProgression
Returns a random element from this range.
fun IntRange.random(): Int
fun LongRange.random(): Long
fun CharRange.random(): Char
fun UIntRange.random(): UInt
fun ULongRange.random(): ULong
Returns a random element from this range using the specified source of randomness.
fun IntRange.random(random: Random): Int
fun LongRange.random(random: Random): Long
fun CharRange.random(random: Random): Char
fun UIntRange.random(random: Random): UInt
fun ULongRange.random(random: Random): ULong
Returns a random element from this range, or null
if this range is empty.
fun IntRange.randomOrNull(): Int?
fun LongRange.randomOrNull(): Long?
fun CharRange.randomOrNull(): Char?
fun UIntRange.randomOrNull(): UInt?
fun ULongRange.randomOrNull(): ULong?
Returns a random element from this range using the specified source of randomness, or null
if this range is empty.
fun IntRange.randomOrNull(random: Random): Int?
fun LongRange.randomOrNull(random: Random): Long?
fun CharRange.randomOrNull(random: Random): Char?
fun UIntRange.randomOrNull(random: Random): UInt?
fun ULongRange.randomOrNull(random: Random): ULong?
Creates a range from this Comparable value to the specified that value.
operator fun <T : Comparable<T>> T.rangeTo( that: T ): ClosedRange<T>
Returns a progression that goes over the same range in the opposite direction with the same step.
fun IntProgression.reversed(): IntProgression
fun LongProgression.reversed(): LongProgression
fun CharProgression.reversed(): CharProgression
fun UIntProgression.reversed(): UIntProgression
fun ULongProgression.reversed(): ULongProgression
Returns a progression that goes over the same range with the given step.
infix fun IntProgression.step(step: Int): IntProgression
infix fun LongProgression.step(step: Long): LongProgression
infix fun CharProgression.step(step: Int): CharProgression
infix fun UIntProgression.step(step: Int): UIntProgression
infix fun ULongProgression.step(step: Long): ULongProgression
Returns a range from this value up to but excluding the specified to value.
infix fun Int.until(to: Byte): IntRange
infix fun Long.until(to: Byte): LongRange
infix fun Byte.until(to: Byte): IntRange
infix fun Short.until(to: Byte): IntRange
infix fun Char.until(to: Char): CharRange
infix fun Int.until(to: Int): IntRange
infix fun Long.until(to: Int): LongRange
infix fun Byte.until(to: Int): IntRange
infix fun Short.until(to: Int): IntRange
infix fun Int.until(to: Long): LongRange
infix fun Long.until(to: Long): LongRange
infix fun Byte.until(to: Long): LongRange
infix fun Short.until(to: Long): LongRange
infix fun Int.until(to: Short): IntRange
infix fun Long.until(to: Short): LongRange
infix fun Byte.until(to: Short): IntRange
infix fun Short.until(to: Short): IntRange
infix fun UByte.until(to: UByte): UIntRange
infix fun UInt.until(to: UInt): UIntRange
infix fun ULong.until(to: ULong): ULongRange
infix fun UShort.until(to: UShort): UIntRange
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.ranges/index.html