Introduce 'pairwise' function, KEEP-11

This commit is contained in:
Ilya Gorbunov
2017-04-26 23:49:11 +03:00
parent b73be50e5b
commit c815ccfd6a
15 changed files with 298 additions and 1 deletions
@@ -924,6 +924,12 @@ public expect operator fun <T> Iterable<T>.minus(elements: Sequence<T>): List<T>
@kotlin.internal.InlineOnly
public expect inline fun <T> Iterable<T>.minusElement(element: T): List<T>
@SinceKotlin("1.2")
public expect fun <T> Iterable<T>.pairwise(): List<Pair<T, T>>
@SinceKotlin("1.2")
public expect inline fun <T, R> Iterable<T>.pairwise(transform: (a: T, b: T) -> R): List<R>
/**
* Splits the original collection into pair of lists,
* where *first* list contains elements for which [predicate] yielded `true`,
@@ -848,6 +848,12 @@ public expect operator fun <T> Sequence<T>.minus(elements: Sequence<T>): Sequenc
@kotlin.internal.InlineOnly
public expect inline fun <T> Sequence<T>.minusElement(element: T): Sequence<T>
@SinceKotlin("1.2")
public expect fun <T> Sequence<T>.pairwise(): Sequence<Pair<T, T>>
@SinceKotlin("1.2")
public expect fun <T, R> Sequence<T>.pairwise(transform: (a: T, b: T) -> R): Sequence<R>
/**
* Splits the original sequence into pair of lists,
* where *first* list contains elements for which [predicate] yielded `true`,
@@ -638,6 +638,12 @@ public expect inline fun CharSequence.sumBy(selector: (Char) -> Int): Int
*/
public expect inline fun CharSequence.sumByDouble(selector: (Char) -> Double): Double
@SinceKotlin("1.2")
public expect fun CharSequence.pairwise(): List<Pair<Char, Char>>
@SinceKotlin("1.2")
public expect inline fun <R> CharSequence.pairwise(transform: (a: Char, b: Char) -> R): List<R>
/**
* Splits the original char sequence into pair of char sequences,
* where *first* char sequence contains characters for which [predicate] yielded `true`,