diff --git a/tuple.go b/tuple.go new file mode 100644 index 0000000..f06fd0c --- /dev/null +++ b/tuple.go @@ -0,0 +1,181 @@ +package future + +type Tuple2[T0, T1 any] struct { + Val0 T0 + Val1 T1 +} + +type Tuple3[T0, T1, T2 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 +} + +type Tuple4[T0, T1, T2, T3 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 +} + +type Tuple5[T0, T1, T2, T3, T4 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 +} + +type Tuple6[T0, T1, T2, T3, T4, T5 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 + Val5 T5 +} + +type Tuple7[T0, T1, T2, T3, T4, T5, T6 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 + Val5 T5 + Val6 T6 +} + +type Tuple8[T0, T1, T2, T3, T4, T5, T6, T7 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 + Val5 T5 + Val6 T6 + Val7 T7 +} + +type Tuple9[T0, T1, T2, T3, T4, T5, T6, T7, T8 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 + Val5 T5 + Val6 T6 + Val7 T7 + Val8 T8 +} + +type Tuple10[T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 + Val5 T5 + Val6 T6 + Val7 T7 + Val8 T8 + Val9 T9 +} + +type Tuple11[T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 + Val5 T5 + Val6 T6 + Val7 T7 + Val8 T8 + Val9 T9 + Val10 T10 +} + +type Tuple12[T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 + Val5 T5 + Val6 T6 + Val7 T7 + Val8 T8 + Val9 T9 + Val10 T10 + Val11 T11 +} + +type Tuple13[T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 + Val5 T5 + Val6 T6 + Val7 T7 + Val8 T8 + Val9 T9 + Val10 T10 + Val11 T11 + Val12 T12 +} + +type Tuple14[T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 + Val5 T5 + Val6 T6 + Val7 T7 + Val8 T8 + Val9 T9 + Val10 T10 + Val11 T11 + Val12 T12 + Val13 T13 +} + +type Tuple15[T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 + Val5 T5 + Val6 T6 + Val7 T7 + Val8 T8 + Val9 T9 + Val10 T10 + Val11 T11 + Val12 T12 + Val13 T13 + Val14 T14 +} + +type Tuple16[T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 any] struct { + Val0 T0 + Val1 T1 + Val2 T2 + Val3 T3 + Val4 T4 + Val5 T5 + Val6 T6 + Val7 T7 + Val8 T8 + Val9 T9 + Val10 T10 + Val11 T11 + Val12 T12 + Val13 T13 + Val14 T14 + Val15 T15 +}