Package-level declarations

Types

Link copied to clipboard
data class Array2<TGen>(val width: Int, val height: Int, val data: Array<TGen>) : IArray2<TGen>
Link copied to clipboard
open class BaseCacheMap<K, V> : BaseMutableMap<K, V>
Link copied to clipboard
interface BaseList<T> : List<T>
Link copied to clipboard
open class BaseListIterator<T>(val list: List<T>, var index: Int) : ListIterator<T>
Link copied to clipboard
interface BaseMap<K, V> : Map<K, V>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
interface BaseMutableMap<K, V> : BaseMap<K, V> , MutableMap<K, V>
Link copied to clipboard
open class BaseSubList<T>(val list: List<T>, start: Int, end: Int) : BaseList<T>
Link copied to clipboard
open class BaseSubMutableList<T>(val mlist: MutableList<T>, start: Int, end: Int) : BaseSubList<T> , BaseMutableList<T>
Link copied to clipboard

Equivalent to BooleanArray but tightly packed to consume less memory, at the cost of being ~3-4x slower.

Link copied to clipboard
class BitSet(val size: Int) : Collection<Boolean>

Fixed size BitSet. Similar to a BooleanArray but tightly packed to reduce memory usage.

Link copied to clipboard
data class BooleanArray2(val width: Int, val height: Int, val data: BooleanArray) : IArray2<Boolean>
Link copied to clipboard
class BooleanArrayList(initialCapacity: Int = 7)
Link copied to clipboard
open class BooleanDeque(initialCapacity: Int) : MutableCollection<Boolean>

Deque structure supporting constant time of appending/removing from the start or the end of the list when there is room in the underlying array.

Link copied to clipboard
Link copied to clipboard
inline class BSearchResult(val raw: Int)
Link copied to clipboard
data class ByteArray2(val width: Int, val height: Int, val data: ByteArray) : IArray2<Byte>
Link copied to clipboard
class ByteArrayDeque(val initialBits: Int = 10, val allowGrow: Boolean = true)
Link copied to clipboard
open class ByteDeque(initialCapacity: Int) : MutableCollection<Byte>

Deque structure supporting constant time of appending/removing from the start or the end of the list when there is room in the underlying array.

Link copied to clipboard
typealias ByteIArray2 = IArray2<Byte>
Link copied to clipboard
open class ByteRingBuffer(val bits: Int)
Link copied to clipboard
open class CacheMap<K, V>(val maxSize: Int = 16) : BaseCacheMap<K, V>
Link copied to clipboard

Map with String keys that are treated in a insensitive manner.

Link copied to clipboard
data class CharArray2(val width: Int, val height: Int, val data: CharArray) : IArray2<Char>
Link copied to clipboard
open class CharDeque(initialCapacity: Int) : MutableCollection<Char>

Deque structure supporting constant time of appending/removing from the start or the end of the list when there is room in the underlying array.

Link copied to clipboard
typealias CharIArray2 = IArray2<Char>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class Computed<K : Computed.WithParent<K>, T>(val prop: KProperty1<K, T?>, val default: () -> T)
Link copied to clipboard
open class ConcurrentPool<T : Any>(reset: (T) -> Unit = {}, preallocate: Int = 0, gen: (Int) -> T) : Pool<T>
Link copied to clipboard
open class CustomHashMap<K, V>(val hasher: (key: K) -> Int, val equalKey: (a: K, b: K) -> Boolean, val equalValue: (a: V, b: V) -> Boolean, val initialCapacity: Int = 16) : MutableMap<K, V>
Link copied to clipboard
typealias Deque<TGen> = TGenDeque<TGen>
Link copied to clipboard
data class DoubleArray2(val width: Int, val height: Int, val data: DoubleArray) : IArray2<Double>
Link copied to clipboard
class DoubleArrayList(capacity: Int = 7) : DoubleList

Double growable ArrayList without boxing.

Link copied to clipboard
Link copied to clipboard
open class DoubleDeque(initialCapacity: Int) : MutableCollection<Double>

Deque structure supporting constant time of appending/removing from the start or the end of the list when there is room in the underlying array.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

A FIFO (First In First Out) structure.

Link copied to clipboard
inline class DoubleStack(items: DoubleArrayList = DoubleArrayList()) : Collection<Double>
Link copied to clipboard
interface Extra
Link copied to clipboard
Link copied to clipboard
typealias ExtraType = ExtraObject?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
expect class FastIdentityMap<K, V>
actual class FastIdentityMap<K, V>
actual class FastIdentityMap<K, V>
actual class FastIdentityMap<K, V>
Link copied to clipboard
expect class FastIntMap<T>
actual typealias FastIntMap<T> = IntMap<T>
actual class FastIntMap<T>(dummy: Boolean)
Link copied to clipboard
Link copied to clipboard
expect class FastStringMap<T>
actual class FastStringMap<T>
actual class FastStringMap<T>
Link copied to clipboard
data class FloatArray2(val width: Int, val height: Int, val data: FloatArray) : IArray2<Float>
Link copied to clipboard
class FloatArrayDeque(val initialBits: Int = 10)
Link copied to clipboard
class FloatArrayList(capacity: Int = 7) : FloatList

Float growable ArrayList without boxing.

Link copied to clipboard
Link copied to clipboard
open class FloatDeque(initialCapacity: Int) : MutableCollection<Float>

Deque structure supporting constant time of appending/removing from the start or the end of the list when there is room in the underlying array.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
class FloatMap<T>
Link copied to clipboard
Link copied to clipboard

A FIFO (First In First Out) structure.

Link copied to clipboard
class FloatRingBuffer(val bits: Int)
Link copied to clipboard
inline class FloatStack(items: FloatArrayList = FloatArrayList()) : Collection<Float>
Link copied to clipboard
class GenericListIterator<T>(val list: List<T>, val iindex: Int = 0) : ListIterator<T>
Link copied to clipboard
class GenericSubList<T>(val base: List<T>, val start: Int, val end: Int) : List<T>
Link copied to clipboard
class HistoryStack<T>(var maxLength: Int = Int.MAX_VALUE - 10, initialCapacity: Int = 7)
Link copied to clipboard
interface IArray2<E> : Iterable<E>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
data class IntArray2(val width: Int, val height: Int, val data: IntArray) : IArray2<Int>
Link copied to clipboard
class IntArrayDeque(val initialBits: Int = 10)
Link copied to clipboard
class IntArrayList(capacity: Int = 7) : Collection<Int>

Int growable ArrayList without boxing.

Link copied to clipboard
Link copied to clipboard
open class IntDeque(initialCapacity: Int) : MutableCollection<Int>

Deque structure supporting constant time of appending/removing from the start or the end of the list when there is room in the underlying array.

Link copied to clipboard
Link copied to clipboard
typealias IntIArray2 = IArray2<Int>
Link copied to clipboard
class IntIntMap
Link copied to clipboard
class IntMap<T>
Link copied to clipboard
Link copied to clipboard

A FIFO (First In First Out) structure.

Link copied to clipboard
class IntRingBuffer(val bits: Int)
Link copied to clipboard

A Set structure representing a set of Int without boxing.

Link copied to clipboard
inline class IntStack(items: IntArrayList = IntArrayList()) : Collection<Int>
Link copied to clipboard
Link copied to clipboard
class LazyDelegate<T>(val propRef: () -> KMutableProperty0<T>)
Link copied to clipboard
Link copied to clipboard
class ListReader<T>(val list: List<T>)

A utility to read List.

Link copied to clipboard
data class LongArray2(val width: Int, val height: Int, val data: LongArray) : IArray2<Long>
Link copied to clipboard
open class LongDeque(initialCapacity: Int) : MutableCollection<Long>

Deque structure supporting constant time of appending/removing from the start or the end of the list when there is room in the underlying array.

Link copied to clipboard
typealias LongIArray2 = IArray2<Long>
Link copied to clipboard
open class LRUCache<K, V>(val maxSize: Int = Int.MAX_VALUE, val maxMemory: Long = Long.MAX_VALUE, val atLeastOne: Boolean = true, val getElementMemory: (V) -> Int = { 1 }) : BaseCacheMap<K, V>
Link copied to clipboard
typealias MapList<K, V> = Map<K, List<V>>
Link copied to clipboard
interface MutableListEx<E> : MutableList<E>
Link copied to clipboard
Link copied to clipboard
class Observable<T>(val initial: T, val before: (T) -> Unit = {}, val after: (T) -> Unit = {})
Link copied to clipboard
open class Pool<T : Any>(reset: (T) -> Unit = {}, preallocate: Int = 0, gen: (Int) -> T)

Structure containing a set of reusable objects.

Link copied to clipboard
Link copied to clipboard
typealias Queue<TGen> = TGenQueue<TGen>
Link copied to clipboard
interface Ref<T : Any>
Link copied to clipboard
class ReturnablePool<T : Any>(_reset: (T) -> Unit = { }, gen: (index: Int) -> T)
Link copied to clipboard
class RingBuffer(val bits: Int) : ByteRingBuffer
Link copied to clipboard
data class ShortArray2(val width: Int, val height: Int, val data: ShortArray) : IArray2<Short>
Link copied to clipboard
class ShortArrayDeque(val initialBits: Int = 10)
Link copied to clipboard
class ShortArrayList(initialCapacity: Int = 7)
Link copied to clipboard
open class ShortDeque(initialCapacity: Int) : MutableCollection<Short>

Deque structure supporting constant time of appending/removing from the start or the end of the list when there is room in the underlying array.

Link copied to clipboard
Link copied to clipboard
class ShortRingBuffer(val bits: Int)
Link copied to clipboard
open class SlowIdentityHashMap<K, V>(initialCapacity: Int = 16) : CustomHashMap<K, V>
Link copied to clipboard
open class SortedMap<K, V>(val comparator: Comparator<K>) : MutableMapExt<K, V>
Link copied to clipboard
abstract class SortOps<T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
typealias Stack<TGen> = TGenStack<TGen>
Link copied to clipboard
class StackedIntArray2(val width: Int, val height: Int, val empty: Int = -1, val startX: Int = 0, val startY: Int = 0) : IStackedIntArray2
Link copied to clipboard
class TemporalPool<T : Any>(reset: (T) -> Unit = {}, preallocate: Int = 0, gen: (Int) -> T)
Link copied to clipboard
open class TGenDeque<TGen>(initialCapacity: Int) : MutableCollection<TGen>

Deque structure supporting constant time of appending/removing from the start or the end of the list when there is room in the underlying array.

Link copied to clipboard
Link copied to clipboard

A FIFO (First In First Out) structure.

Link copied to clipboard
inline class TGenStack<TGen>(items: FastArrayList<TGen> = FastArrayList<TGen>()) : Collection<TGen>
Link copied to clipboard
expect class WeakMap<K : Any, V>
actual class WeakMap<K : Any, V>
actual class WeakMap<K : Any, V>
actual class WeakMap<K : Any, V>
Link copied to clipboard
class WeakProperty<V>(val gen: () -> V)
Link copied to clipboard
class WeakPropertyThis<T : Any, V>(val gen: T.() -> V)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
expect val <K, V> FastIdentityMap<K, V>.size: Int
expect val <T> FastIntMap<T>.size: Int
expect val <T> FastStringMap<T>.size: Int
actual val <T> FastStringMap<T>.size: Int
actual val <K, V> FastIdentityMap<K, V>.size: Int
actual val <K, V> FastIdentityMap<K, V>.size: Int
actual val <T> FastIntMap<T>.size: Int
actual val <T> FastStringMap<T>.size: Int
actual val <K, V> FastIdentityMap<K, V>.size: Int
Link copied to clipboard

Functions

Link copied to clipboard
fun <K, V> MutableMapList<K, V>.append(key: K, value: V): MutableMapList<K, V>
Link copied to clipboard
fun <K, V> MutableMapList<K, V>.appendAll(vararg items: Pair<K, V>): MutableMapList<K, V>
Link copied to clipboard
fun <T> Iterable<T>.associateByInt(block: (index: Int, value: T) -> Int): IntMap<T>
Link copied to clipboard
fun DoubleArrayList.binarySearch(v: Double, fromIndex: Int = 0, toIndex: Int = size): BSearchResult
fun FloatArrayList.binarySearch(v: Float, fromIndex: Int = 0, toIndex: Int = size): BSearchResult
fun IntArrayList.binarySearch(v: Int, fromIndex: Int = 0, toIndex: Int = size): BSearchResult
fun DoubleArray.binarySearch(v: Double, fromIndex: Int = 0, toIndex: Int = size): BSearchResult
fun FloatArray.binarySearch(v: Float, fromIndex: Int = 0, toIndex: Int = size): BSearchResult

fun IntArray.binarySearch(v: Int, fromIndex: Int = 0, toIndex: Int = size): BSearchResult

Returns the index of an item or a negative number in the case the item is not found. The negative index represents the nearest position after negating + 1.

Link copied to clipboard
fun DoubleArrayList.binarySearchLeft(v: Double, fromIndex: Int = 0, toIndex: Int = size): Int
fun FloatArrayList.binarySearchLeft(v: Float, fromIndex: Int = 0, toIndex: Int = size): Int
fun IntArrayList.binarySearchLeft(v: Int, fromIndex: Int = 0, toIndex: Int = size): Int
fun DoubleArray.binarySearchLeft(v: Double, fromIndex: Int = 0, toIndex: Int = size): Int
fun FloatArray.binarySearchLeft(v: Float, fromIndex: Int = 0, toIndex: Int = size): Int
fun IntArray.binarySearchLeft(v: Int, fromIndex: Int = 0, toIndex: Int = size): Int
Link copied to clipboard
fun DoubleArrayList.binarySearchRight(v: Double, fromIndex: Int = 0, toIndex: Int = size): Int
fun FloatArrayList.binarySearchRight(v: Float, fromIndex: Int = 0, toIndex: Int = size): Int
fun IntArrayList.binarySearchRight(v: Int, fromIndex: Int = 0, toIndex: Int = size): Int
fun DoubleArray.binarySearchRight(v: Double, fromIndex: Int = 0, toIndex: Int = size): Int
fun FloatArray.binarySearchRight(v: Float, fromIndex: Int = 0, toIndex: Int = size): Int
fun IntArray.binarySearchRight(v: Int, fromIndex: Int = 0, toIndex: Int = size): Int
Link copied to clipboard
fun bitArrayOf(vararg values: Boolean): BitArray
Link copied to clipboard
inline fun <T> buildFastList(block: FastArrayList<T>.() -> Unit): FastArrayList<T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun <T> cacheLazyNullable(field: KMutableProperty0<T?>, gen: () -> T): T
Link copied to clipboard
expect fun <K, V> FastIdentityMap<K, V>.clear()
expect fun <T> FastIntMap<T>.clear()
expect fun <T> FastStringMap<T>.clear()
actual inline fun <T> FastStringMap<T>.clear()
actual fun <K, V> FastIdentityMap<K, V>.clear()
actual fun <K, V> FastIdentityMap<K, V>.clear()
actual inline fun <T> FastIntMap<T>.clear()
actual inline fun <T> FastStringMap<T>.clear()
actual fun <K, V> FastIdentityMap<K, V>.clear()
Link copied to clipboard
Link copied to clipboard
expect operator fun <K, V> FastIdentityMap<K, V>.contains(key: K): Boolean
expect operator fun <T> FastIntMap<T>.contains(key: Int): Boolean
expect operator fun <T> FastStringMap<T>.contains(key: String): Boolean
actual inline operator fun <T> FastStringMap<T>.contains(key: String): Boolean
actual operator fun <K, V> FastIdentityMap<K, V>.contains(key: K): Boolean
actual operator fun <K, V> FastIdentityMap<K, V>.contains(key: K): Boolean
actual inline operator fun <T> FastIntMap<T>.contains(key: Int): Boolean
actual inline operator fun <T> FastStringMap<T>.contains(key: String): Boolean
actual operator fun <K, V> FastIdentityMap<K, V>.contains(key: K): Boolean
Link copied to clipboard
inline fun count(cond: (index: Int) -> Boolean): Int
Link copied to clipboard
fun <T> List<T>.countMap(): Map<T, Int>
Link copied to clipboard
fun <T> Deque(other: Collection<T>): Deque<T>
Link copied to clipboard
Link copied to clipboard
fun <T> ListReader<T>.dump()
Link copied to clipboard
inline fun <E> IArray2<E>.each(callback: (x: Int, y: Int, v: E) -> Unit)
Link copied to clipboard
Link copied to clipboard
fun <T> ListReader<T>.expect(value: T): T
Link copied to clipboard
fun <T> Extra.extraCache(name: String, block: () -> T): T
Link copied to clipboard
inline fun <T> extraProperty(name: String? = null, noinline default: () -> T): Extra.Property<T>
Link copied to clipboard
inline fun <T2 : Extra, T> extraPropertyThis(name: String? = null, noinline transform: T2.(T) -> T = { it }, noinline default: T2.() -> T): Extra.PropertyThis<T2, T>
Link copied to clipboard
Link copied to clipboard
fun <T> fastArrayListOf(vararg values: T): FastArrayList<T>
Link copied to clipboard
expect inline fun <T> Any?.fastCastTo(): T
actual inline fun <T> Any?.fastCastTo(): T
actual inline fun <T> Any?.fastCastTo(): T
Link copied to clipboard
inline fun <K, V : Any> FastIdentityMap<K, V>.fastForEach(callback: (key: K, value: V) -> Unit)
inline fun <T : Any> FastIntMap<T>.fastForEach(callback: (key: Int, value: T) -> Unit)
inline fun <T : Any> FastStringMap<T>.fastForEach(callback: (key: String, value: T) -> Unit)
Link copied to clipboard
inline fun <K, V> FastIdentityMap<K, V>.fastForEachNullable(callback: (key: K, value: V?) -> Unit)
inline fun <T> FastIntMap<T>.fastForEachNullable(callback: (key: Int, value: T?) -> Unit)
inline fun <T> FastStringMap<T>.fastForEachNullable(callback: (key: String, value: T?) -> Unit)
Link copied to clipboard
expect fun <K, V> FastIdentityMap(): FastIdentityMap<K, V>
actual fun <K, V> FastIdentityMap(): FastIdentityMap<K, V>
actual fun <K, V> FastIdentityMap(): FastIdentityMap<K, V>
actual fun <K, V> FastIdentityMap(): FastIdentityMap<K, V>
Link copied to clipboard
expect fun <T> FastIntMap(): FastIntMap<T>
actual inline fun <T> FastIntMap(): FastIntMap<T>
actual fun <T> FastIntMap(): FastIntMap<T>
Link copied to clipboard
expect inline fun <K, V> FastIdentityMap<K, V>.fastKeyForEach(callback: (key: K) -> Unit)
expect inline fun <T> FastIntMap<T>.fastKeyForEach(callback: (key: Int) -> Unit)
expect inline fun <T> FastStringMap<T>.fastKeyForEach(callback: (key: String) -> Unit)
actual inline fun <T> FastStringMap<T>.fastKeyForEach(callback: (key: String) -> Unit)
actual inline fun <K, V> FastIdentityMap<K, V>.fastKeyForEach(callback: (key: K) -> Unit)
actual inline fun <K, V> FastIdentityMap<K, V>.fastKeyForEach(callback: (key: K) -> Unit)
actual inline fun <T> FastIntMap<T>.fastKeyForEach(callback: (key: Int) -> Unit)
actual inline fun <T> FastStringMap<T>.fastKeyForEach(callback: (key: String) -> Unit)
actual inline fun <K, V> FastIdentityMap<K, V>.fastKeyForEach(callback: (key: K) -> Unit)
Link copied to clipboard
expect fun <T> FastStringMap(): FastStringMap<T>
actual inline fun <T> FastStringMap(): FastStringMap<T>
actual fun <T> FastStringMap(): FastStringMap<T>
Link copied to clipboard
inline fun <K, V : Any> FastIdentityMap<K, V>.fastValueForEach(callback: (value: V) -> Unit)
inline fun <T : Any> FastIntMap<T>.fastValueForEach(callback: (value: T) -> Unit)
inline fun <T : Any> FastStringMap<T>.fastValueForEach(callback: (value: T) -> Unit)
Link copied to clipboard
inline fun <K, V> FastIdentityMap<K, V>.fastValueForEachNullable(callback: (value: V?) -> Unit)
inline fun <T> FastIntMap<T>.fastValueForEachNullable(callback: (value: T?) -> Unit)
inline fun <T> FastStringMap<T>.fastValueForEachNullable(callback: (value: T?) -> Unit)
Link copied to clipboard
inline fun <E> IArray2<E>.fill(gen: (old: E) -> E)
Link copied to clipboard
inline fun FloatArrayList.filter(callback: (Float) -> Boolean): FloatArrayList
inline fun IntArrayList.filter(callback: (Int) -> Boolean): IntArrayList
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <K, V> MapList<K, V>.flatten(): List<Pair<K, V>>
Link copied to clipboard
fun <K, V> Map<K, V>.flip(): Map<V, K>
Link copied to clipboard
Link copied to clipboard
inline fun genericBinarySearch(fromIndex: Int, toIndex: Int, invalid: (from: Int, to: Int, low: Int, high: Int) -> Int = { from, to, low, high -> -low - 1 }, check: (value: Int) -> Int): Int
Link copied to clipboard
inline fun genericBinarySearchLeft(fromIndex: Int, toIndex: Int, check: (value: Int) -> Int): Int
Link copied to clipboard
inline fun genericBinarySearchResult(fromIndex: Int, toIndex: Int, check: (value: Int) -> Int): BSearchResult
Link copied to clipboard
inline fun genericBinarySearchRight(fromIndex: Int, toIndex: Int, check: (value: Int) -> Int): Int
Link copied to clipboard
inline fun genericRemoveSortedDuplicates(size: Int, equals: (x: Int, y: Int) -> Boolean, copy: (src: Int, dst: Int) -> Unit, resize: (size: Int) -> Unit)
Link copied to clipboard
fun <T> genericSort(subject: T, left: Int, right: Int, ops: SortOps<T>): T
fun <T> genericSort(subject: T, left: Int, right: Int, ops: SortOps<T>, reversed: Boolean): T
Link copied to clipboard
fun <T : Comparable<T>> MutableList<T>.genericSort(left: Int = 0, right: Int = size - 1): MutableList<T>
Link copied to clipboard
fun <T : Comparable<T>> List<T>.genericSorted(left: Int = 0, right: Int = size - 1): List<T>
Link copied to clipboard
expect operator fun <K, V> FastIdentityMap<K, V>.get(key: K): V?
expect operator fun <T> FastIntMap<T>.get(key: Int): T?
expect operator fun <T> FastStringMap<T>.get(key: String): T?
actual inline operator fun <T> FastStringMap<T>.get(key: String): T?
actual operator fun <K, V> FastIdentityMap<K, V>.get(key: K): V?
actual operator fun <K, V> FastIdentityMap<K, V>.get(key: K): V?
actual inline operator fun <T> FastIntMap<T>.get(key: Int): T?
actual inline operator fun <T> FastStringMap<T>.get(key: String): T?
actual operator fun <K, V> FastIdentityMap<K, V>.get(key: K): V?
Link copied to clipboard
fun <K, V> FastIdentityMap<K, V>.getAndRemove(key: K): V?
Link copied to clipboard
Link copied to clipboard
fun <T> List<T>.getCyclicOrNull(index: Int): T?
Link copied to clipboard
fun Extra.getExtra(name: String): Any?
Link copied to clipboard
fun <T> Extra.getExtraTyped(name: String): T?
Link copied to clipboard
fun <K, V> MapList<K, V>.getFirst(key: K): V?
Link copied to clipboard
fun <K, V> MapList<K, V>.getLast(key: K): V?
Link copied to clipboard
inline fun <K, V> FastIdentityMap<K, V>.getNull(key: K?): V?
inline fun <T> FastIntMap<T>.getNull(key: Int?): T?
inline fun <T> FastStringMap<T>.getNull(key: String?): T?
Link copied to clipboard
inline fun <K, V> FastIdentityMap<K, V>.getOrPut(key: K, callback: (K) -> V): V
inline fun <T> FastIntMap<T>.getOrPut(key: Int, callback: () -> T): T
inline fun <T> FastStringMap<T>.getOrPut(key: String, callback: () -> T): T
inline fun <K : Any, V> WeakMap<K, V>.getOrPut(key: K, value: (K) -> V): V
Link copied to clipboard
Link copied to clipboard
inline fun <T1> hashCode(v1: T1): Int
inline fun <T1, T2> hashCode(v1: T1, v2: T2): Int
inline fun <T1, T2, T3> hashCode(v1: T1, v2: T2, v3: T3): Int
inline fun <T1, T2, T3, T4> hashCode(v1: T1, v2: T2, v3: T3, v4: T4): Int
inline fun <T1, T2, T3, T4, T5> hashCode(v1: T1, v2: T2, v3: T3, v4: T4, v5: T5): Int
inline fun <T1, T2, T3, T4, T5, T6> hashCode(v1: T1, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6): Int
Link copied to clipboard
Link copied to clipboard
fun <K> MutableMap<K, Int>.incr(key: K, delta: Int = +1): Int
Link copied to clipboard
fun <E> IArray2<E>.index(x: Int, y: Int): Int
Link copied to clipboard
fun intArrayListOf(vararg values: Int): IntArrayList
Link copied to clipboard
fun intIntMapOf(vararg pairs: Pair<Int, Int>): IntIntMap
Link copied to clipboard
fun <T> intMapOf(vararg pairs: Pair<Int, T>): IntMap<T>
Link copied to clipboard
fun intSetOf(vararg values: Int): IntSet
Link copied to clipboard
fun <T> Iterator(hasNext: () -> Boolean, next: () -> T): Iterator<T>
Link copied to clipboard
inline fun <T, R> keep(mut: KMutableProperty0<T>, block: () -> R): R
Link copied to clipboard
expect fun <K, V> FastIdentityMap<K, V>.keys(): List<K>
expect fun <T> FastIntMap<T>.keys(): List<Int>
expect fun <T> FastStringMap<T>.keys(): List<String>
actual fun <T> FastStringMap<T>.keys(): List<String>
actual fun <K, V> FastIdentityMap<K, V>.keys(): List<K>
actual fun <K, V> FastIdentityMap<K, V>.keys(): List<K>
actual fun <T> FastIntMap<T>.keys(): List<Int>
actual fun <T> FastStringMap<T>.keys(): List<String>
actual fun <K, V> FastIdentityMap<K, V>.keys(): List<K>
Link copied to clipboard
Link copied to clipboard
fun <K, V> linkedHashMapListOf(vararg items: Pair<K, V>): MutableMapList<K, V>
Link copied to clipboard
fun <K, V> linkedHashMapOf(vararg pairs: Pair<K, V>): LinkedHashMap<K, V>
Link copied to clipboard
inline fun DoubleArray2.map2(gen: (x: Int, y: Int, v: Double) -> Double): DoubleArray2
inline fun FloatArray2.map2(gen: (x: Int, y: Int, v: Float) -> Float): FloatArray2
inline fun <TGen : Any, RGen : Any> IArray2<TGen>.map2(gen: (x: Int, y: Int, v: TGen) -> RGen): Array2<RGen>
inline fun IntArray2.map2(gen: (x: Int, y: Int, v: Int) -> Int): IntArray2
Link copied to clipboard
inline fun <T> Array<T>.mapDouble(callback: (T) -> Double): DoubleArray
inline fun BooleanArray.mapDouble(callback: (Boolean) -> Double): DoubleArray
inline fun ByteArray.mapDouble(callback: (Byte) -> Double): DoubleArray
inline fun CharArray.mapDouble(callback: (Char) -> Double): DoubleArray
inline fun DoubleArray.mapDouble(callback: (Double) -> Double): DoubleArray
inline fun FloatArray.mapDouble(callback: (Float) -> Double): DoubleArray
inline fun IntArray.mapDouble(callback: (Int) -> Double): DoubleArray
inline fun ShortArray.mapDouble(callback: (Short) -> Double): DoubleArray
inline fun <T> Iterable<T>.mapDouble(callback: (T) -> Double): DoubleArrayList
Link copied to clipboard
inline fun <T> Array<T>.mapFloat(callback: (T) -> Float): FloatArray
inline fun BooleanArray.mapFloat(callback: (Boolean) -> Float): FloatArray
inline fun ByteArray.mapFloat(callback: (Byte) -> Float): FloatArray
inline fun CharArray.mapFloat(callback: (Char) -> Float): FloatArray
inline fun DoubleArray.mapFloat(callback: (Double) -> Float): FloatArray
inline fun FloatArray.mapFloat(callback: (Float) -> Float): FloatArray
inline fun IntArray.mapFloat(callback: (Int) -> Float): FloatArray
inline fun ShortArray.mapFloat(callback: (Short) -> Float): FloatArray
inline fun <T> Iterable<T>.mapFloat(callback: (T) -> Float): FloatArrayList
Link copied to clipboard
inline fun IntArrayList.mapInt(callback: (Int) -> Int): IntArrayList
inline fun <T> Array<T>.mapInt(callback: (T) -> Int): IntArray
inline fun BooleanArray.mapInt(callback: (Boolean) -> Int): IntArray
inline fun ByteArray.mapInt(callback: (Byte) -> Int): IntArray
inline fun CharArray.mapInt(callback: (Char) -> Int): IntArray
inline fun DoubleArray.mapInt(callback: (Double) -> Int): IntArray
inline fun FloatArray.mapInt(callback: (Float) -> Int): IntArray
inline fun IntArray.mapInt(callback: (Int) -> Int): IntArray
inline fun ShortArray.mapInt(callback: (Short) -> Int): IntArray
inline fun <T> Iterable<T>.mapInt(callback: (T) -> Int): IntArrayList
inline fun IntRange.mapInt(callback: (Int) -> Int): IntArrayList
Link copied to clipboard
inline fun <T> mapWhile(cond: (index: Int) -> Boolean, gen: (Int) -> T): List<T>
Link copied to clipboard
inline fun <T> mapWhileArray(cond: (index: Int) -> Boolean, gen: (Int) -> T): Array<T>
Link copied to clipboard
inline fun <T> mapWhileCheck(check: (T) -> Boolean, gen: (Int) -> T): List<T>
Link copied to clipboard
inline fun mapWhileDouble(cond: (index: Int) -> Boolean, gen: (Int) -> Double): DoubleArray
Link copied to clipboard
inline fun mapWhileFloat(cond: (index: Int) -> Boolean, gen: (Int) -> Float): FloatArray
Link copied to clipboard
inline fun mapWhileInt(cond: (index: Int) -> Boolean, gen: (Int) -> Int): IntArray
Link copied to clipboard
inline fun <T> mapWhileNotNull(gen: (Int) -> T?): List<T>
Link copied to clipboard
fun <T : Any> () -> T.memoize(): () -> T

This acts as a lazy delegate but for functions.

Link copied to clipboard
fun <T> Iterable<T>.multisorted(vararg props: KProperty1<T, Comparable<*>>): List<T>
Link copied to clipboard
expect fun <T> FastStringMap<T>.putAll(other: FastStringMap<T>)
actual fun <T> FastStringMap<T>.putAll(other: FastStringMap<T>)
actual fun <T> FastStringMap<T>.putAll(other: FastStringMap<T>)
Link copied to clipboard
fun <T> List<T>.reader(): ListReader<T>
Link copied to clipboard
fun <T : Any> Ref(): Ref<T>
fun <T : Any> Ref(value: T): Ref<T>
fun <T : Any> Ref(prop: KMutableProperty0<T>): Ref<T>
Link copied to clipboard
expect fun <K, V> FastIdentityMap<K, V>.remove(key: K)
expect fun <T> FastIntMap<T>.remove(key: Int)
expect fun <T> FastStringMap<T>.remove(key: String)
actual inline fun <T> FastStringMap<T>.remove(key: String)
actual fun <K, V> FastIdentityMap<K, V>.remove(key: K)
actual fun <K, V> FastIdentityMap<K, V>.remove(key: K)
actual inline fun <T> FastIntMap<T>.remove(key: Int)
actual inline fun <T> FastStringMap<T>.remove(key: String)
actual fun <K, V> FastIdentityMap<K, V>.remove(key: K)
Link copied to clipboard
expect fun <T> FastIntMap<T>.removeRange(src: Int, dst: Int)
actual inline fun <T> FastIntMap<T>.removeRange(src: Int, dst: Int)
Link copied to clipboard
Link copied to clipboard
fun <K, V> MutableMapList<K, V>.replace(key: K, value: V): MutableMapList<K, V>
Link copied to clipboard
fun <K, V> MutableMapList<K, V>.replaceAll(vararg items: Pair<K, V>): MutableMapList<K, V>
Link copied to clipboard
fun DoubleArrayList.reverse(start: Int = 0, end: Int = size)
fun FloatArrayList.reverse(start: Int = 0, end: Int = size)
fun IntArrayList.reverse(start: Int = 0, end: Int = size)
fun <T> MutableList<T>.reverse(fromIndex: Int, toIndex: Int)
Link copied to clipboard
Link copied to clipboard
fun <T> Array<T>.rotatedLeft(offset: Int = +1): Array<T>
fun ByteArray.rotatedLeft(offset: Int = +1): ByteArray
fun CharArray.rotatedLeft(offset: Int = +1): CharArray
fun IntArray.rotatedLeft(offset: Int = +1): IntArray
fun LongArray.rotatedLeft(offset: Int = +1): LongArray
fun <T> List<T>.rotatedLeft(offset: Int = +1): List<T>
Link copied to clipboard
fun <T> Array<T>.rotatedRight(offset: Int = +1): Array<T>
fun ByteArray.rotatedRight(offset: Int = +1): ByteArray
fun CharArray.rotatedRight(offset: Int = +1): CharArray
fun IntArray.rotatedRight(offset: Int = +1): IntArray
fun LongArray.rotatedRight(offset: Int = +1): LongArray
fun <T> List<T>.rotatedRight(offset: Int = +1): List<T>
Link copied to clipboard
fun <T> Array<T>.rotateLeft(offset: Int = +1)
fun BooleanArray.rotateLeft(offset: Int = +1)
fun ByteArray.rotateLeft(offset: Int = +1)
fun CharArray.rotateLeft(offset: Int = +1)
fun DoubleArray.rotateLeft(offset: Int = +1)
fun FloatArray.rotateLeft(offset: Int = +1)
fun IntArray.rotateLeft(offset: Int = +1)
fun LongArray.rotateLeft(offset: Int = +1)
fun ShortArray.rotateLeft(offset: Int = +1)
fun <T> MutableList<T>.rotateLeft(offset: Int = +1)
Link copied to clipboard
fun <T> Array<T>.rotateRight(offset: Int = +1)
fun BooleanArray.rotateRight(offset: Int = +1)
fun ByteArray.rotateRight(offset: Int = +1)
fun CharArray.rotateRight(offset: Int = +1)
fun DoubleArray.rotateRight(offset: Int = +1)
fun FloatArray.rotateRight(offset: Int = +1)
fun IntArray.rotateRight(offset: Int = +1)
fun LongArray.rotateRight(offset: Int = +1)
fun ShortArray.rotateRight(offset: Int = +1)
fun <T> MutableList<T>.rotateRight(offset: Int = +1)
Link copied to clipboard
expect operator fun <K, V> FastIdentityMap<K, V>.set(key: K, value: V)
expect operator fun <T> FastIntMap<T>.set(key: Int, value: T)
expect operator fun <T> FastStringMap<T>.set(key: String, value: T)
actual inline operator fun <T> FastStringMap<T>.set(key: String, value: T)
actual operator fun <K, V> FastIdentityMap<K, V>.set(key: K, value: V)
actual operator fun <K, V> FastIdentityMap<K, V>.set(key: K, value: V)
actual inline operator fun <T> FastIntMap<T>.set(key: Int, value: T)
actual inline operator fun <T> FastStringMap<T>.set(key: String, value: T)
actual operator fun <K, V> FastIdentityMap<K, V>.set(key: K, value: V)
Link copied to clipboard
fun Extra.setExtra(name: String, value: Any?)
Link copied to clipboard
fun <K, V> slowIdentityHashMapOf(vararg pairs: Pair<K, V>): SlowIdentityHashMap<K, V>
Link copied to clipboard
fun DoubleArrayList.sort(start: Int = 0, end: Int = size, reversed: Boolean = false): DoubleArrayList
fun FloatArrayList.sort(start: Int = 0, end: Int = size, reversed: Boolean = false): FloatArrayList
fun IntArrayList.sort(start: Int = 0, end: Int = size, reversed: Boolean = false): IntArrayList
Link copied to clipboard
fun <K : Comparable<K>, V> sortedMapOf(vararg values: Pair<K, V>): SortedMap<K, V>
fun <K, V> sortedMapOf(comparator: Comparator<K>, vararg values: Pair<K, V>): SortedMap<K, V>
Link copied to clipboard
@JvmName(name = "sumOfFloat")
inline fun <T> Iterable<T>.sumOfDouble(selector: (T) -> Double): Double
Link copied to clipboard
@JvmName(name = "sumOfFloat")
inline fun <T> Iterable<T>.sumOfFloat(selector: (T) -> Float): Float
Link copied to clipboard
fun <T> Array<T>.swap(lIndex: Int, rIndex: Int)
fun BooleanArray.swap(lIndex: Int, rIndex: Int)
fun ByteArray.swap(lIndex: Int, rIndex: Int)
fun CharArray.swap(lIndex: Int, rIndex: Int)
fun DoubleArray.swap(lIndex: Int, rIndex: Int)
fun FloatArray.swap(lIndex: Int, rIndex: Int)
fun IntArray.swap(lIndex: Int, rIndex: Int)
fun LongArray.swap(lIndex: Int, rIndex: Int)
fun ShortArray.swap(lIndex: Int, rIndex: Int)
fun <T> MutableList<T>.swap(lIndex: Int, rIndex: Int)
Link copied to clipboard
fun <T : Comparable<T>> MutableList<T>.timSort(left: Int = 0, right: Int = size - 1): MutableList<T>
Link copied to clipboard
fun <T : Comparable<T>> List<T>.timSorted(): List<T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <T> Array<T>.toFastList(): List<T>
fun <T> List<T>.toFastList(): List<T>
fun <T> FastArrayList<T>.toFastList(out: FastArrayList<T> = FastArrayList()): FastArrayList<T>
fun <T> List<T>.toFastList(out: FastArrayList<T> = FastArrayList()): FastArrayList<T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <T> Map<Int, T>.toIntMap(): IntMap<T>
Link copied to clipboard
Link copied to clipboard
fun <T> Iterator<T>.toList(): List<T>
Link copied to clipboard
fun <K, V> FastIdentityMap<K, V>.toMap(): Map<K, V>
fun <T> IntMap<T>.toMap(): Map<Int, T>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun <T> List<T>.withoutSortedDuplicates(out: ArrayList<T> = arrayListOf()): List<T>