Docs and samples for 'pairwise' function

This commit is contained in:
Ilya Gorbunov
2017-05-08 20:59:49 +03:00
parent b94fd36d75
commit e418f61f0c
11 changed files with 185 additions and 1 deletions
@@ -930,9 +930,24 @@ 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>
/**
* Returns a list of pairs of each two adjacent elements in this collection.
*
* The returned list is empty if this collection contains less than two elements.
*
* @sample samples.collections.Collections.Transformations.pairwise
*/
@SinceKotlin("1.2")
public expect fun <T> Iterable<T>.pairwise(): List<Pair<T, T>>
/**
* Returns a list containing the results of applying the given [transform] function
* to an each pair of two adjacent elements in this collection.
*
* The returned list is empty if this collection contains less than two elements.
*
* @sample samples.collections.Collections.Transformations.pairwiseToFindDeltas
*/
@SinceKotlin("1.2")
public expect inline fun <T, R> Iterable<T>.pairwise(transform: (a: T, b: T) -> R): List<R>
@@ -854,9 +854,28 @@ 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>
/**
* Returns a sequence of pairs of each two adjacent elements in this sequence.
*
* The returned sequence is empty if this sequence contains less than two elements.
*
* @sample samples.collections.Collections.Transformations.pairwise
*
* The operation is _intermediate_ and _stateless_.
*/
@SinceKotlin("1.2")
public expect fun <T> Sequence<T>.pairwise(): Sequence<Pair<T, T>>
/**
* Returns a sequence containing the results of applying the given [transform] function
* to an each pair of two adjacent elements in this sequence.
*
* The returned sequence is empty if this sequence contains less than two elements.
*
* @sample samples.collections.Collections.Transformations.pairwiseToFindDeltas
*
* The operation is _intermediate_ and _stateless_.
*/
@SinceKotlin("1.2")
public expect fun <T, R> Sequence<T>.pairwise(transform: (a: T, b: T) -> R): Sequence<R>
@@ -650,9 +650,24 @@ public expect fun CharSequence.chunkedSequence(size: Int): Sequence<String>
@SinceKotlin("1.2")
public expect fun <R> CharSequence.chunkedSequence(size: Int, transform: (CharSequence) -> R): Sequence<R>
/**
* Returns a list of pairs of each two adjacent characters in this char sequence.
*
* The returned list is empty if this char sequence contains less than two characters.
*
* @sample samples.collections.Collections.Transformations.pairwise
*/
@SinceKotlin("1.2")
public expect fun CharSequence.pairwise(): List<Pair<Char, Char>>
/**
* Returns a list containing the results of applying the given [transform] function
* to an each pair of two adjacent characters in this char sequence.
*
* The returned list is empty if this char sequence contains less than two characters.
*
* @sample samples.collections.Collections.Transformations.pairwiseToFindDeltas
*/
@SinceKotlin("1.2")
public expect inline fun <R> CharSequence.pairwise(transform: (a: Char, b: Char) -> R): List<R>