Rename sequence and iterator builder functions and their scope class
This introduces new functions instead of the existing sequence builders: - `sequence` instead of `buildSequence` - `iterator` instead of `buildIterator` - `SequenceScope` instead of `SequenceBuilder` The old functions were deprecated with error and made inline-only, and `SequenceBuilder` has been made a deprecated typealias to `SequenceScope`. Move sequence builders to `SequencesKt` facade class. Replace sequence builder usages in stdlib and samples. #KT-26678
This commit is contained in:
@@ -63,7 +63,7 @@ public inline fun <T> Sequence<T>?.orEmpty(): Sequence<T> = this ?: emptySequenc
|
||||
* @sample samples.collections.Sequences.Usage.sequenceIfEmpty
|
||||
*/
|
||||
@SinceKotlin("1.3")
|
||||
public fun <T> Sequence<T>.ifEmpty(defaultValue: () -> Sequence<T>): Sequence<T> = buildSequence {
|
||||
public fun <T> Sequence<T>.ifEmpty(defaultValue: () -> Sequence<T>): Sequence<T> = sequence {
|
||||
val iterator = this@ifEmpty.iterator()
|
||||
if (iterator.hasNext()) {
|
||||
yieldAll(iterator)
|
||||
@@ -588,7 +588,7 @@ public fun <T> Sequence<T>.constrainOnce(): Sequence<T> {
|
||||
* The returned sequence is constrained to be iterated only once.
|
||||
*
|
||||
* @see constrainOnce
|
||||
* @see kotlin.coroutines.experimental.buildSequence
|
||||
* @see kotlin.sequences.sequence
|
||||
*
|
||||
* @sample samples.collections.Sequences.Building.generateSequence
|
||||
*/
|
||||
@@ -605,7 +605,7 @@ public fun <T : Any> generateSequence(nextFunction: () -> T?): Sequence<T> {
|
||||
*
|
||||
* The sequence can be iterated multiple times, each time starting with [seed].
|
||||
*
|
||||
* @see kotlin.coroutines.experimental.buildSequence
|
||||
* @see kotlin.sequences.sequence
|
||||
*
|
||||
* @sample samples.collections.Sequences.Building.generateSequenceWithSeed
|
||||
*/
|
||||
@@ -625,7 +625,7 @@ public fun <T : Any> generateSequence(seed: T?, nextFunction: (T) -> T?): Sequen
|
||||
*
|
||||
* The sequence can be iterated multiple times.
|
||||
*
|
||||
* @see kotlin.coroutines.experimental.buildSequence
|
||||
* @see kotlin.sequences.sequence
|
||||
*
|
||||
* @sample samples.collections.Sequences.Building.generateSequenceWithLazySeed
|
||||
*/
|
||||
|
||||
@@ -23,7 +23,7 @@ internal fun <T> Sequence<T>.windowedSequence(size: Int, step: Int, partialWindo
|
||||
|
||||
internal fun <T> windowedIterator(iterator: Iterator<T>, size: Int, step: Int, partialWindows: Boolean, reuseBuffer: Boolean): Iterator<List<T>> {
|
||||
if (!iterator.hasNext()) return EmptyIterator
|
||||
return buildIterator<List<T>> {
|
||||
return iterator<List<T>> {
|
||||
val gap = step - size
|
||||
if (gap >= 0) {
|
||||
var buffer = ArrayList<T>(size)
|
||||
|
||||
Reference in New Issue
Block a user