@@ -2,6 +2,25 @@ package org.jetbrains.kotlinx.spark.api.tuples
22
33import scala.*
44
5+ /* *
6+ * This file provides map-functions to all Tuple variants.
7+ * Given a tuple `t(a1, ..., an)`, returns a new tuple `t(func(a1), ..., func(an))`.
8+ * Compared to Scala 3, no type mapping can occur in Kotlin, so to create a `TupleX<T1, T2, ...>`
9+ * the user will need to explicitly [cast] the result.
10+ *
11+ * For example:
12+ * ```kotlin
13+ * val myTuple: Tuple4<Int, String, Int, String> = t(1, "3", 2, "4")
14+ * val myStringTuple: Tuple4<String, Int, String, Int> = myTuple.map {
15+ * when (it) {
16+ * is Int -> it.toString()
17+ * is String -> it.toInt()
18+ * else -> error("")
19+ * }
20+ * }.cast<String, Int, String, Int>()
21+ * ```
22+ */
23+
524fun <T , R , T1 : T > Tuple1<T1>.map (func : (T ) -> R ): Tuple1 <R > = Tuple1 <R >(func(this ._1 ()))
625fun <T , R , T1 : T , T2 : T > Tuple2 <T1 , T2 >.map (func : (T ) -> R ): Tuple2 <R , R > = Tuple2 <R , R >(func(this ._1 ()), func(this ._2 ()))
726fun <T , R , T1 : T , T2 : T , T3 : T > Tuple3 <T1 , T2 , T3 >.map (func : (T ) -> R ): Tuple3 <R , R , R > = Tuple3 <R , R , R >(func(this ._1 ()), func(this ._2 ()), func(this ._3 ()))
@@ -24,3 +43,26 @@ fun <T, R, T1: T, T2: T, T3: T, T4: T, T5: T, T6: T, T7: T, T8: T, T9: T, T10: T
2443fun <T , R , T1 : T , T2 : T , T3 : T , T4 : T , T5 : T , T6 : T , T7 : T , T8 : T , T9 : T , T10 : T , T11 : T , T12 : T , T13 : T , T14 : T , T15 : T , T16 : T , T17 : T , T18 : T , T19 : T , T20 : T > Tuple20 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 >.map (func : (T ) -> R ): Tuple20 <R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R > = Tuple20 <R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R >(func(this ._1 ()), func(this ._2 ()), func(this ._3 ()), func(this ._4 ()), func(this ._5 ()), func(this ._6 ()), func(this ._7 ()), func(this ._8 ()), func(this ._9 ()), func(this ._10 ()), func(this ._11 ()), func(this ._12 ()), func(this ._13 ()), func(this ._14 ()), func(this ._15 ()), func(this ._16 ()), func(this ._17 ()), func(this ._18 ()), func(this ._19 ()), func(this ._20 ()))
2544fun <T , R , T1 : T , T2 : T , T3 : T , T4 : T , T5 : T , T6 : T , T7 : T , T8 : T , T9 : T , T10 : T , T11 : T , T12 : T , T13 : T , T14 : T , T15 : T , T16 : T , T17 : T , T18 : T , T19 : T , T20 : T , T21 : T > Tuple21 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 >.map (func : (T ) -> R ): Tuple21 <R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R > = Tuple21 <R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R >(func(this ._1 ()), func(this ._2 ()), func(this ._3 ()), func(this ._4 ()), func(this ._5 ()), func(this ._6 ()), func(this ._7 ()), func(this ._8 ()), func(this ._9 ()), func(this ._10 ()), func(this ._11 ()), func(this ._12 ()), func(this ._13 ()), func(this ._14 ()), func(this ._15 ()), func(this ._16 ()), func(this ._17 ()), func(this ._18 ()), func(this ._19 ()), func(this ._20 ()), func(this ._21 ()))
2645fun <T , R , T1 : T , T2 : T , T3 : T , T4 : T , T5 : T , T6 : T , T7 : T , T8 : T , T9 : T , T10 : T , T11 : T , T12 : T , T13 : T , T14 : T , T15 : T , T16 : T , T17 : T , T18 : T , T19 : T , T20 : T , T21 : T , T22 : T > Tuple22 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 >.map (func : (T ) -> R ): Tuple22 <R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R > = Tuple22 <R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R , R >(func(this ._1 ()), func(this ._2 ()), func(this ._3 ()), func(this ._4 ()), func(this ._5 ()), func(this ._6 ()), func(this ._7 ()), func(this ._8 ()), func(this ._9 ()), func(this ._10 ()), func(this ._11 ()), func(this ._12 ()), func(this ._13 ()), func(this ._14 ()), func(this ._15 ()), func(this ._16 ()), func(this ._17 ()), func(this ._18 ()), func(this ._19 ()), func(this ._20 ()), func(this ._21 ()), func(this ._22 ()))
46+
47+ inline fun <reified T1 > Tuple1 <* >.cast (): Tuple1 <T1 > = Tuple1 <T1 >(this ._1 () as T1 )
48+ inline fun <reified T1 , reified T2 > Tuple2 <* , * >.cast (): Tuple2 <T1 , T2 > = Tuple2 <T1 , T2 >(this ._1 () as T1 , this ._2 () as T2 )
49+ inline fun <reified T1 , reified T2 , reified T3 > Tuple3 <* , * , * >.cast (): Tuple3 <T1 , T2 , T3 > = Tuple3 <T1 , T2 , T3 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 )
50+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 > Tuple4 <* , * , * , * >.cast (): Tuple4 <T1 , T2 , T3 , T4 > = Tuple4 <T1 , T2 , T3 , T4 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 )
51+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 > Tuple5 <* , * , * , * , * >.cast (): Tuple5 <T1 , T2 , T3 , T4 , T5 > = Tuple5 <T1 , T2 , T3 , T4 , T5 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 )
52+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 > Tuple6 <* , * , * , * , * , * >.cast (): Tuple6 <T1 , T2 , T3 , T4 , T5 , T6 > = Tuple6 <T1 , T2 , T3 , T4 , T5 , T6 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 )
53+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 > Tuple7 <* , * , * , * , * , * , * >.cast (): Tuple7 <T1 , T2 , T3 , T4 , T5 , T6 , T7 > = Tuple7 <T1 , T2 , T3 , T4 , T5 , T6 , T7 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 )
54+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 > Tuple8 <* , * , * , * , * , * , * , * >.cast (): Tuple8 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > = Tuple8 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 )
55+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 > Tuple9 <* , * , * , * , * , * , * , * , * >.cast (): Tuple9 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > = Tuple9 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 )
56+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 > Tuple10 <* , * , * , * , * , * , * , * , * , * >.cast (): Tuple10 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > = Tuple10 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 )
57+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 > Tuple11 <* , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple11 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 > = Tuple11 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 )
58+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 , reified T12 > Tuple12 <* , * , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple12 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 > = Tuple12 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 , this ._12 () as T12 )
59+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 , reified T12 , reified T13 > Tuple13 <* , * , * , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple13 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 > = Tuple13 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 , this ._12 () as T12 , this ._13 () as T13 )
60+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 , reified T12 , reified T13 , reified T14 > Tuple14 <* , * , * , * , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple14 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 > = Tuple14 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 , this ._12 () as T12 , this ._13 () as T13 , this ._14 () as T14 )
61+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 , reified T12 , reified T13 , reified T14 , reified T15 > Tuple15 <* , * , * , * , * , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple15 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 > = Tuple15 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 , this ._12 () as T12 , this ._13 () as T13 , this ._14 () as T14 , this ._15 () as T15 )
62+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 , reified T12 , reified T13 , reified T14 , reified T15 , reified T16 > Tuple16 <* , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple16 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 > = Tuple16 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 , this ._12 () as T12 , this ._13 () as T13 , this ._14 () as T14 , this ._15 () as T15 , this ._16 () as T16 )
63+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 , reified T12 , reified T13 , reified T14 , reified T15 , reified T16 , reified T17 > Tuple17 <* , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple17 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 > = Tuple17 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 , this ._12 () as T12 , this ._13 () as T13 , this ._14 () as T14 , this ._15 () as T15 , this ._16 () as T16 , this ._17 () as T17 )
64+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 , reified T12 , reified T13 , reified T14 , reified T15 , reified T16 , reified T17 , reified T18 > Tuple18 <* , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple18 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 > = Tuple18 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 , this ._12 () as T12 , this ._13 () as T13 , this ._14 () as T14 , this ._15 () as T15 , this ._16 () as T16 , this ._17 () as T17 , this ._18 () as T18 )
65+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 , reified T12 , reified T13 , reified T14 , reified T15 , reified T16 , reified T17 , reified T18 , reified T19 > Tuple19 <* , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple19 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 > = Tuple19 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 , this ._12 () as T12 , this ._13 () as T13 , this ._14 () as T14 , this ._15 () as T15 , this ._16 () as T16 , this ._17 () as T17 , this ._18 () as T18 , this ._19 () as T19 )
66+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 , reified T12 , reified T13 , reified T14 , reified T15 , reified T16 , reified T17 , reified T18 , reified T19 , reified T20 > Tuple20 <* , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple20 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 > = Tuple20 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 , this ._12 () as T12 , this ._13 () as T13 , this ._14 () as T14 , this ._15 () as T15 , this ._16 () as T16 , this ._17 () as T17 , this ._18 () as T18 , this ._19 () as T19 , this ._20 () as T20 )
67+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 , reified T12 , reified T13 , reified T14 , reified T15 , reified T16 , reified T17 , reified T18 , reified T19 , reified T20 , reified T21 > Tuple21 <* , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple21 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 > = Tuple21 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 , this ._12 () as T12 , this ._13 () as T13 , this ._14 () as T14 , this ._15 () as T15 , this ._16 () as T16 , this ._17 () as T17 , this ._18 () as T18 , this ._19 () as T19 , this ._20 () as T20 , this ._21 () as T21 )
68+ inline fun <reified T1 , reified T2 , reified T3 , reified T4 , reified T5 , reified T6 , reified T7 , reified T8 , reified T9 , reified T10 , reified T11 , reified T12 , reified T13 , reified T14 , reified T15 , reified T16 , reified T17 , reified T18 , reified T19 , reified T20 , reified T21 , reified T22 > Tuple22 <* , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * , * >.cast (): Tuple22 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 > = Tuple22 <T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 >(this ._1 () as T1 , this ._2 () as T2 , this ._3 () as T3 , this ._4 () as T4 , this ._5 () as T5 , this ._6 () as T6 , this ._7 () as T7 , this ._8 () as T8 , this ._9 () as T9 , this ._10 () as T10 , this ._11 () as T11 , this ._12 () as T12 , this ._13 () as T13 , this ._14 () as T14 , this ._15 () as T15 , this ._16 () as T16 , this ._17 () as T17 , this ._18 () as T18 , this ._19 () as T19 , this ._20 () as T20 , this ._21 () as T21 , this ._22 () as T22 )
0 commit comments