Skip to content

Commit 40776fb

Browse files
authored
Merge pull request #572 from Kotlin/inline-foreach
make `forEach` inline to enable composable and suspend calls in lambda
2 parents 4ef1a22 + 63f08f4 commit 40776fb

File tree

2 files changed

+8
-8
lines changed
  • core
    • generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api
    • src/main/kotlin/org/jetbrains/kotlinx/dataframe/api

2 files changed

+8
-8
lines changed

core/generated-sources/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ import org.jetbrains.kotlinx.dataframe.columns.values
77

88
// region DataColumn
99

10-
public fun <T> DataColumn<T>.forEach(action: (T) -> Unit): Unit = values.forEach(action)
10+
public inline fun <T> DataColumn<T>.forEach(action: (T) -> Unit): Unit = values().forEach(action)
1111

12-
public fun <T> DataColumn<T>.forEachIndexed(action: (Int, T) -> Unit): Unit = values.forEachIndexed(action)
12+
public inline fun <T> DataColumn<T>.forEachIndexed(action: (Int, T) -> Unit): Unit = values().forEachIndexed(action)
1313

1414
// endregion
1515

1616
// region DataFrame
1717

18-
public fun <T> DataFrame<T>.forEach(action: RowExpression<T, Unit>): Unit = rows().forEach { action(it, it) }
18+
public inline fun <T> DataFrame<T>.forEach(action: RowExpression<T, Unit>): Unit = rows().forEach { action(it, it) }
1919

2020
// endregion
2121

2222
// region GroupBy
2323

24-
public fun <T, G> GroupBy<T, G>.forEach(body: (GroupBy.Entry<T, G>) -> Unit): Unit = keys.forEach { key ->
24+
public inline fun <T, G> GroupBy<T, G>.forEach(body: (GroupBy.Entry<T, G>) -> Unit): Unit = keys.forEach { key ->
2525
val group = groups[key.index()]
2626
body(GroupBy.Entry(key, group))
2727
}

core/src/main/kotlin/org/jetbrains/kotlinx/dataframe/api/forEach.kt

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ import org.jetbrains.kotlinx.dataframe.columns.values
77

88
// region DataColumn
99

10-
public fun <T> DataColumn<T>.forEach(action: (T) -> Unit): Unit = values.forEach(action)
10+
public inline fun <T> DataColumn<T>.forEach(action: (T) -> Unit): Unit = values().forEach(action)
1111

12-
public fun <T> DataColumn<T>.forEachIndexed(action: (Int, T) -> Unit): Unit = values.forEachIndexed(action)
12+
public inline fun <T> DataColumn<T>.forEachIndexed(action: (Int, T) -> Unit): Unit = values().forEachIndexed(action)
1313

1414
// endregion
1515

1616
// region DataFrame
1717

18-
public fun <T> DataFrame<T>.forEach(action: RowExpression<T, Unit>): Unit = rows().forEach { action(it, it) }
18+
public inline fun <T> DataFrame<T>.forEach(action: RowExpression<T, Unit>): Unit = rows().forEach { action(it, it) }
1919

2020
// endregion
2121

2222
// region GroupBy
2323

24-
public fun <T, G> GroupBy<T, G>.forEach(body: (GroupBy.Entry<T, G>) -> Unit): Unit = keys.forEach { key ->
24+
public inline fun <T, G> GroupBy<T, G>.forEach(body: (GroupBy.Entry<T, G>) -> Unit): Unit = keys.forEach { key ->
2525
val group = groups[key.index()]
2626
body(GroupBy.Entry(key, group))
2727
}

0 commit comments

Comments
 (0)