commonMain.flow.terminal.Count.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of kotlinx-coroutines-core
Show all versions of kotlinx-coroutines-core
Coroutines support libraries for Kotlin
@file:JvmMultifileClass
@file:JvmName("FlowKt")
package kotlinx.coroutines.flow
import kotlin.jvm.*
/**
* Returns the number of elements in this flow.
*/
public suspend fun Flow.count(): Int {
var i = 0
collect {
++i
}
return i
}
/**
* Returns the number of elements matching the given predicate.
*/
public suspend fun Flow.count(predicate: suspend (T) -> Boolean): Int {
var i = 0
collect { value ->
if (predicate(value)) {
++i
}
}
return i
}