Package-level declarations

Types

Link copied to clipboard
interface Feature<F : Feature<F>>
Link copied to clipboard
interface Featured<F : Any>

An entity that contains a set of features defined by their types

Link copied to clipboard
typealias FeatureKey<T> = KClass<out T>
Link copied to clipboard
value class FeatureSet<F : Feature<F>> : Featured<F>

A container for a set of features

Link copied to clipboard
fun interface Loggable

Functions

Link copied to clipboard
inline fun <T, R> Iterable<T>.cumulative(initial: R, crossinline operation: (R, T) -> R): Iterable<R>
inline fun <T, R> List<T>.cumulative(initial: R, crossinline operation: (R, T) -> R): List<R>
inline fun <T, R> Sequence<T>.cumulative(initial: R, crossinline operation: (R, T) -> R): Sequence<R>

inline fun <T, R> Iterator<T>.cumulative(initial: R, crossinline operation: (R, T) -> R): Iterator<R>

Generic cumulative operation on iterator.

Link copied to clipboard
@JvmName(name = "cumulativeSumOfDouble")
fun Iterable<Double>.cumulativeSum(): Iterable<Double>
@JvmName(name = "cumulativeSumOfInt")
fun Iterable<Int>.cumulativeSum(): Iterable<Int>
@JvmName(name = "cumulativeSumOfLong")
fun Iterable<Long>.cumulativeSum(): Iterable<Long>
@JvmName(name = "cumulativeSumOfDouble")
fun List<Double>.cumulativeSum(): List<Double>
@JvmName(name = "cumulativeSumOfInt")
fun List<Int>.cumulativeSum(): List<Int>
@JvmName(name = "cumulativeSumOfLong")
fun List<Long>.cumulativeSum(): List<Long>
@JvmName(name = "cumulativeSumOfDouble")
fun Sequence<Double>.cumulativeSum(): Sequence<Double>
@JvmName(name = "cumulativeSumOfInt")
fun Sequence<Int>.cumulativeSum(): Sequence<Int>
@JvmName(name = "cumulativeSumOfLong")
fun Sequence<Long>.cumulativeSum(): Sequence<Long>
fun <T> List<T>.cumulativeSum(group: Ring<T>): List<T>
fun <T> Buffer<T>.cumulativeSum(ring: Ring<T>): Buffer<T>

Cumulative sum with custom space

Link copied to clipboard

Return a new array filled with buffer indices. Indices order is defined by sorting associated buffer value. This feature allows sorting buffer values without reordering its content.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun Loggable.log(block: () -> String)
Link copied to clipboard

Checks that the Buffer is sorted (ascending) and throws IllegalArgumentException if it is not.

Link copied to clipboard

Create a zero-copy virtual buffer that contains the same elements but in ascending order

Link copied to clipboard
fun <V, C : Comparable<C>> Buffer<V>.sortedBy(selector: (V) -> C): Buffer<V>
Link copied to clipboard
fun <V, C : Comparable<C>> Buffer<V>.sortedByDescending(selector: (V) -> C): Buffer<V>
Link copied to clipboard

Create a zero-copy virtual buffer that contains the same elements but in descending order

Link copied to clipboard
expect fun Long.toIntExact(): Int
actual fun Long.toIntExact(): Int
actual fun Long.toIntExact(): Int
actual fun Long.toIntExact(): Int
actual fun Long.toIntExact(): Int
Link copied to clipboard

inline fun <T, R> List<T>.zipWithNextCircular(transform: (a: T, b: T) -> R): List<R>

The same as zipWithNext, but includes link between last and first element