Package io.vavr

Interface Tuple

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int MAX_ARITY
      The maximum arity of an Tuple.
      static long serialVersionUID  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int arity()
      Returns the number of elements of this tuple.
      static Tuple0 empty()
      Creates the empty tuple.
      static <T1,​T2>
      Tuple2<T1,​T2>
      fromEntry​(java.util.Map.Entry<? extends T1,​? extends T2> entry)
      Creates a Tuple2 from a Map.Entry.
      static int hash​(java.lang.Object o1)
      Return the order-dependent hash of the one given value.
      static int hash​(java.lang.Object o1, java.lang.Object o2)
      Return the order-dependent hash of the two given values.
      static int hash​(java.lang.Object o1, java.lang.Object o2, java.lang.Object o3)
      Return the order-dependent hash of the three given values.
      static int hash​(java.lang.Object o1, java.lang.Object o2, java.lang.Object o3, java.lang.Object o4)
      Return the order-dependent hash of the 4 given values.
      static int hash​(java.lang.Object o1, java.lang.Object o2, java.lang.Object o3, java.lang.Object o4, java.lang.Object o5)
      Return the order-dependent hash of the 5 given values.
      static int hash​(java.lang.Object o1, java.lang.Object o2, java.lang.Object o3, java.lang.Object o4, java.lang.Object o5, java.lang.Object o6)
      Return the order-dependent hash of the 6 given values.
      static int hash​(java.lang.Object o1, java.lang.Object o2, java.lang.Object o3, java.lang.Object o4, java.lang.Object o5, java.lang.Object o6, java.lang.Object o7)
      Return the order-dependent hash of the 7 given values.
      static int hash​(java.lang.Object o1, java.lang.Object o2, java.lang.Object o3, java.lang.Object o4, java.lang.Object o5, java.lang.Object o6, java.lang.Object o7, java.lang.Object o8)
      Return the order-dependent hash of the 8 given values.
      static <T1> Tuple1<T1> narrow​(Tuple1<? extends T1> t)
      Narrows a widened Tuple1<? extends T1> to Tuple1<T1>.
      static <T1,​T2>
      Tuple2<T1,​T2>
      narrow​(Tuple2<? extends T1,​? extends T2> t)
      Narrows a widened Tuple2<? extends T1, ? extends T2> to Tuple2<T1, T2>.
      static <T1,​T2,​T3>
      Tuple3<T1,​T2,​T3>
      narrow​(Tuple3<? extends T1,​? extends T2,​? extends T3> t)
      Narrows a widened Tuple3<? extends T1, ? extends T2, ? extends T3> to Tuple3<T1, T2, T3>.
      static <T1,​T2,​T3,​T4>
      Tuple4<T1,​T2,​T3,​T4>
      narrow​(Tuple4<? extends T1,​? extends T2,​? extends T3,​? extends T4> t)
      Narrows a widened Tuple4<? extends T1, ? extends T2, ? extends T3, ? extends T4> to Tuple4<T1, T2, T3, T4>.
      static <T1,​T2,​T3,​T4,​T5>
      Tuple5<T1,​T2,​T3,​T4,​T5>
      narrow​(Tuple5<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5> t)
      Narrows a widened Tuple5<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5> to Tuple5<T1, T2, T3, T4, T5>.
      static <T1,​T2,​T3,​T4,​T5,​T6>
      Tuple6<T1,​T2,​T3,​T4,​T5,​T6>
      narrow​(Tuple6<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6> t)
      Narrows a widened Tuple6<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6> to Tuple6<T1, T2, T3, T4, T5, T6>.
      static <T1,​T2,​T3,​T4,​T5,​T6,​T7>
      Tuple7<T1,​T2,​T3,​T4,​T5,​T6,​T7>
      narrow​(Tuple7<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6,​? extends T7> t)
      Narrows a widened Tuple7<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7> to Tuple7<T1, T2, T3, T4, T5, T6, T7>.
      static <T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>
      Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>
      narrow​(Tuple8<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6,​? extends T7,​? extends T8> t)
      Narrows a widened Tuple8<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8> to Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>.
      static <T1> Tuple1<T1> of​(T1 t1)
      Creates a tuple of one element.
      static <T1,​T2>
      Tuple2<T1,​T2>
      of​(T1 t1, T2 t2)
      Creates a tuple of two elements.
      static <T1,​T2,​T3>
      Tuple3<T1,​T2,​T3>
      of​(T1 t1, T2 t2, T3 t3)
      Creates a tuple of three elements.
      static <T1,​T2,​T3,​T4>
      Tuple4<T1,​T2,​T3,​T4>
      of​(T1 t1, T2 t2, T3 t3, T4 t4)
      Creates a tuple of 4 elements.
      static <T1,​T2,​T3,​T4,​T5>
      Tuple5<T1,​T2,​T3,​T4,​T5>
      of​(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5)
      Creates a tuple of 5 elements.
      static <T1,​T2,​T3,​T4,​T5,​T6>
      Tuple6<T1,​T2,​T3,​T4,​T5,​T6>
      of​(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6)
      Creates a tuple of 6 elements.
      static <T1,​T2,​T3,​T4,​T5,​T6,​T7>
      Tuple7<T1,​T2,​T3,​T4,​T5,​T6,​T7>
      of​(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7)
      Creates a tuple of 7 elements.
      static <T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>
      Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>
      of​(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8)
      Creates a tuple of 8 elements.
      static <T1> Tuple1<Seq<T1>> sequence1​(java.lang.Iterable<? extends Tuple1<? extends T1>> tuples)
      Turns a sequence of Tuple1 into a Tuple1 of Seq.
      static <T1,​T2>
      Tuple2<Seq<T1>,​Seq<T2>>
      sequence2​(java.lang.Iterable<? extends Tuple2<? extends T1,​? extends T2>> tuples)
      Turns a sequence of Tuple2 into a Tuple2 of Seqs.
      static <T1,​T2,​T3>
      Tuple3<Seq<T1>,​Seq<T2>,​Seq<T3>>
      sequence3​(java.lang.Iterable<? extends Tuple3<? extends T1,​? extends T2,​? extends T3>> tuples)
      Turns a sequence of Tuple3 into a Tuple3 of Seqs.
      static <T1,​T2,​T3,​T4>
      Tuple4<Seq<T1>,​Seq<T2>,​Seq<T3>,​Seq<T4>>
      sequence4​(java.lang.Iterable<? extends Tuple4<? extends T1,​? extends T2,​? extends T3,​? extends T4>> tuples)
      Turns a sequence of Tuple4 into a Tuple4 of Seqs.
      static <T1,​T2,​T3,​T4,​T5>
      Tuple5<Seq<T1>,​Seq<T2>,​Seq<T3>,​Seq<T4>,​Seq<T5>>
      sequence5​(java.lang.Iterable<? extends Tuple5<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5>> tuples)
      Turns a sequence of Tuple5 into a Tuple5 of Seqs.
      static <T1,​T2,​T3,​T4,​T5,​T6>
      Tuple6<Seq<T1>,​Seq<T2>,​Seq<T3>,​Seq<T4>,​Seq<T5>,​Seq<T6>>
      sequence6​(java.lang.Iterable<? extends Tuple6<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6>> tuples)
      Turns a sequence of Tuple6 into a Tuple6 of Seqs.
      static <T1,​T2,​T3,​T4,​T5,​T6,​T7>
      Tuple7<Seq<T1>,​Seq<T2>,​Seq<T3>,​Seq<T4>,​Seq<T5>,​Seq<T6>,​Seq<T7>>
      sequence7​(java.lang.Iterable<? extends Tuple7<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6,​? extends T7>> tuples)
      Turns a sequence of Tuple7 into a Tuple7 of Seqs.
      static <T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>
      Tuple8<Seq<T1>,​Seq<T2>,​Seq<T3>,​Seq<T4>,​Seq<T5>,​Seq<T6>,​Seq<T7>,​Seq<T8>>
      sequence8​(java.lang.Iterable<? extends Tuple8<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6,​? extends T7,​? extends T8>> tuples)
      Turns a sequence of Tuple8 into a Tuple8 of Seqs.
      Seq<?> toSeq()
      Converts this tuple to a sequence.
    • Field Detail

      • MAX_ARITY

        static final int MAX_ARITY
        The maximum arity of an Tuple.

        Note: This value might be changed in a future version of Vavr. So it is recommended to use this constant instead of hardcoding the current maximum arity.

        See Also:
        Constant Field Values
    • Method Detail

      • arity

        int arity()
        Returns the number of elements of this tuple.
        Returns:
        the number of elements.
      • toSeq

        Seq<?> toSeq()
        Converts this tuple to a sequence.
        Returns:
        A new Seq.
      • empty

        static Tuple0 empty()
        Creates the empty tuple.
        Returns:
        the empty tuple.
      • fromEntry

        static <T1,​T2> Tuple2<T1,​T2> fromEntry​(java.util.Map.Entry<? extends T1,​? extends T2> entry)
        Creates a Tuple2 from a Map.Entry.
        Type Parameters:
        T1 - Type of first component (entry key)
        T2 - Type of second component (entry value)
        Parameters:
        entry - A Map.Entry
        Returns:
        a new Tuple2 containing key and value of the given entry
      • of

        static <T1> Tuple1<T1> of​(T1 t1)
        Creates a tuple of one element.
        Type Parameters:
        T1 - type of the 1st element
        Parameters:
        t1 - the 1st element
        Returns:
        a tuple of one element.
      • of

        static <T1,​T2> Tuple2<T1,​T2> of​(T1 t1,
                                                    T2 t2)
        Creates a tuple of two elements.
        Type Parameters:
        T1 - type of the 1st element
        T2 - type of the 2nd element
        Parameters:
        t1 - the 1st element
        t2 - the 2nd element
        Returns:
        a tuple of two elements.
      • of

        static <T1,​T2,​T3> Tuple3<T1,​T2,​T3> of​(T1 t1,
                                                                      T2 t2,
                                                                      T3 t3)
        Creates a tuple of three elements.
        Type Parameters:
        T1 - type of the 1st element
        T2 - type of the 2nd element
        T3 - type of the 3rd element
        Parameters:
        t1 - the 1st element
        t2 - the 2nd element
        t3 - the 3rd element
        Returns:
        a tuple of three elements.
      • of

        static <T1,​T2,​T3,​T4> Tuple4<T1,​T2,​T3,​T4> of​(T1 t1,
                                                                                        T2 t2,
                                                                                        T3 t3,
                                                                                        T4 t4)
        Creates a tuple of 4 elements.
        Type Parameters:
        T1 - type of the 1st element
        T2 - type of the 2nd element
        T3 - type of the 3rd element
        T4 - type of the 4th element
        Parameters:
        t1 - the 1st element
        t2 - the 2nd element
        t3 - the 3rd element
        t4 - the 4th element
        Returns:
        a tuple of 4 elements.
      • of

        static <T1,​T2,​T3,​T4,​T5> Tuple5<T1,​T2,​T3,​T4,​T5> of​(T1 t1,
                                                                                                          T2 t2,
                                                                                                          T3 t3,
                                                                                                          T4 t4,
                                                                                                          T5 t5)
        Creates a tuple of 5 elements.
        Type Parameters:
        T1 - type of the 1st element
        T2 - type of the 2nd element
        T3 - type of the 3rd element
        T4 - type of the 4th element
        T5 - type of the 5th element
        Parameters:
        t1 - the 1st element
        t2 - the 2nd element
        t3 - the 3rd element
        t4 - the 4th element
        t5 - the 5th element
        Returns:
        a tuple of 5 elements.
      • of

        static <T1,​T2,​T3,​T4,​T5,​T6> Tuple6<T1,​T2,​T3,​T4,​T5,​T6> of​(T1 t1,
                                                                                                                            T2 t2,
                                                                                                                            T3 t3,
                                                                                                                            T4 t4,
                                                                                                                            T5 t5,
                                                                                                                            T6 t6)
        Creates a tuple of 6 elements.
        Type Parameters:
        T1 - type of the 1st element
        T2 - type of the 2nd element
        T3 - type of the 3rd element
        T4 - type of the 4th element
        T5 - type of the 5th element
        T6 - type of the 6th element
        Parameters:
        t1 - the 1st element
        t2 - the 2nd element
        t3 - the 3rd element
        t4 - the 4th element
        t5 - the 5th element
        t6 - the 6th element
        Returns:
        a tuple of 6 elements.
      • of

        static <T1,​T2,​T3,​T4,​T5,​T6,​T7> Tuple7<T1,​T2,​T3,​T4,​T5,​T6,​T7> of​(T1 t1,
                                                                                                                                              T2 t2,
                                                                                                                                              T3 t3,
                                                                                                                                              T4 t4,
                                                                                                                                              T5 t5,
                                                                                                                                              T6 t6,
                                                                                                                                              T7 t7)
        Creates a tuple of 7 elements.
        Type Parameters:
        T1 - type of the 1st element
        T2 - type of the 2nd element
        T3 - type of the 3rd element
        T4 - type of the 4th element
        T5 - type of the 5th element
        T6 - type of the 6th element
        T7 - type of the 7th element
        Parameters:
        t1 - the 1st element
        t2 - the 2nd element
        t3 - the 3rd element
        t4 - the 4th element
        t5 - the 5th element
        t6 - the 6th element
        t7 - the 7th element
        Returns:
        a tuple of 7 elements.
      • of

        static <T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> of​(T1 t1,
                                                                                                                                                                T2 t2,
                                                                                                                                                                T3 t3,
                                                                                                                                                                T4 t4,
                                                                                                                                                                T5 t5,
                                                                                                                                                                T6 t6,
                                                                                                                                                                T7 t7,
                                                                                                                                                                T8 t8)
        Creates a tuple of 8 elements.
        Type Parameters:
        T1 - type of the 1st element
        T2 - type of the 2nd element
        T3 - type of the 3rd element
        T4 - type of the 4th element
        T5 - type of the 5th element
        T6 - type of the 6th element
        T7 - type of the 7th element
        T8 - type of the 8th element
        Parameters:
        t1 - the 1st element
        t2 - the 2nd element
        t3 - the 3rd element
        t4 - the 4th element
        t5 - the 5th element
        t6 - the 6th element
        t7 - the 7th element
        t8 - the 8th element
        Returns:
        a tuple of 8 elements.
      • hash

        static int hash​(java.lang.Object o1)
        Return the order-dependent hash of the one given value.
        Parameters:
        o1 - the 1st value to hash
        Returns:
        the same result as Objects.hashCode(Object)
      • hash

        static int hash​(java.lang.Object o1,
                        java.lang.Object o2)
        Return the order-dependent hash of the two given values.
        Parameters:
        o1 - the 1st value to hash
        o2 - the 2nd value to hash
        Returns:
        the same result as Objects.hash(Object...)
      • hash

        static int hash​(java.lang.Object o1,
                        java.lang.Object o2,
                        java.lang.Object o3)
        Return the order-dependent hash of the three given values.
        Parameters:
        o1 - the 1st value to hash
        o2 - the 2nd value to hash
        o3 - the 3rd value to hash
        Returns:
        the same result as Objects.hash(Object...)
      • hash

        static int hash​(java.lang.Object o1,
                        java.lang.Object o2,
                        java.lang.Object o3,
                        java.lang.Object o4)
        Return the order-dependent hash of the 4 given values.
        Parameters:
        o1 - the 1st value to hash
        o2 - the 2nd value to hash
        o3 - the 3rd value to hash
        o4 - the 4th value to hash
        Returns:
        the same result as Objects.hash(Object...)
      • hash

        static int hash​(java.lang.Object o1,
                        java.lang.Object o2,
                        java.lang.Object o3,
                        java.lang.Object o4,
                        java.lang.Object o5)
        Return the order-dependent hash of the 5 given values.
        Parameters:
        o1 - the 1st value to hash
        o2 - the 2nd value to hash
        o3 - the 3rd value to hash
        o4 - the 4th value to hash
        o5 - the 5th value to hash
        Returns:
        the same result as Objects.hash(Object...)
      • hash

        static int hash​(java.lang.Object o1,
                        java.lang.Object o2,
                        java.lang.Object o3,
                        java.lang.Object o4,
                        java.lang.Object o5,
                        java.lang.Object o6)
        Return the order-dependent hash of the 6 given values.
        Parameters:
        o1 - the 1st value to hash
        o2 - the 2nd value to hash
        o3 - the 3rd value to hash
        o4 - the 4th value to hash
        o5 - the 5th value to hash
        o6 - the 6th value to hash
        Returns:
        the same result as Objects.hash(Object...)
      • hash

        static int hash​(java.lang.Object o1,
                        java.lang.Object o2,
                        java.lang.Object o3,
                        java.lang.Object o4,
                        java.lang.Object o5,
                        java.lang.Object o6,
                        java.lang.Object o7)
        Return the order-dependent hash of the 7 given values.
        Parameters:
        o1 - the 1st value to hash
        o2 - the 2nd value to hash
        o3 - the 3rd value to hash
        o4 - the 4th value to hash
        o5 - the 5th value to hash
        o6 - the 6th value to hash
        o7 - the 7th value to hash
        Returns:
        the same result as Objects.hash(Object...)
      • hash

        static int hash​(java.lang.Object o1,
                        java.lang.Object o2,
                        java.lang.Object o3,
                        java.lang.Object o4,
                        java.lang.Object o5,
                        java.lang.Object o6,
                        java.lang.Object o7,
                        java.lang.Object o8)
        Return the order-dependent hash of the 8 given values.
        Parameters:
        o1 - the 1st value to hash
        o2 - the 2nd value to hash
        o3 - the 3rd value to hash
        o4 - the 4th value to hash
        o5 - the 5th value to hash
        o6 - the 6th value to hash
        o7 - the 7th value to hash
        o8 - the 8th value to hash
        Returns:
        the same result as Objects.hash(Object...)
      • narrow

        static <T1> Tuple1<T1> narrow​(Tuple1<? extends T1> t)
        Narrows a widened Tuple1<? extends T1> to Tuple1<T1>. This is eligible because immutable/read-only tuples are covariant.
        Type Parameters:
        T1 - the 1st component type
        Parameters:
        t - A Tuple1.
        Returns:
        the given t instance as narrowed type Tuple1<T1>.
      • narrow

        static <T1,​T2> Tuple2<T1,​T2> narrow​(Tuple2<? extends T1,​? extends T2> t)
        Narrows a widened Tuple2<? extends T1, ? extends T2> to Tuple2<T1, T2>. This is eligible because immutable/read-only tuples are covariant.
        Type Parameters:
        T1 - the 1st component type
        T2 - the 2nd component type
        Parameters:
        t - A Tuple2.
        Returns:
        the given t instance as narrowed type Tuple2<T1, T2>.
      • narrow

        static <T1,​T2,​T3> Tuple3<T1,​T2,​T3> narrow​(Tuple3<? extends T1,​? extends T2,​? extends T3> t)
        Narrows a widened Tuple3<? extends T1, ? extends T2, ? extends T3> to Tuple3<T1, T2, T3>. This is eligible because immutable/read-only tuples are covariant.
        Type Parameters:
        T1 - the 1st component type
        T2 - the 2nd component type
        T3 - the 3rd component type
        Parameters:
        t - A Tuple3.
        Returns:
        the given t instance as narrowed type Tuple3<T1, T2, T3>.
      • narrow

        static <T1,​T2,​T3,​T4> Tuple4<T1,​T2,​T3,​T4> narrow​(Tuple4<? extends T1,​? extends T2,​? extends T3,​? extends T4> t)
        Narrows a widened Tuple4<? extends T1, ? extends T2, ? extends T3, ? extends T4> to Tuple4<T1, T2, T3, T4>. This is eligible because immutable/read-only tuples are covariant.
        Type Parameters:
        T1 - the 1st component type
        T2 - the 2nd component type
        T3 - the 3rd component type
        T4 - the 4th component type
        Parameters:
        t - A Tuple4.
        Returns:
        the given t instance as narrowed type Tuple4<T1, T2, T3, T4>.
      • narrow

        static <T1,​T2,​T3,​T4,​T5> Tuple5<T1,​T2,​T3,​T4,​T5> narrow​(Tuple5<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5> t)
        Narrows a widened Tuple5<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5> to Tuple5<T1, T2, T3, T4, T5>. This is eligible because immutable/read-only tuples are covariant.
        Type Parameters:
        T1 - the 1st component type
        T2 - the 2nd component type
        T3 - the 3rd component type
        T4 - the 4th component type
        T5 - the 5th component type
        Parameters:
        t - A Tuple5.
        Returns:
        the given t instance as narrowed type Tuple5<T1, T2, T3, T4, T5>.
      • narrow

        static <T1,​T2,​T3,​T4,​T5,​T6> Tuple6<T1,​T2,​T3,​T4,​T5,​T6> narrow​(Tuple6<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6> t)
        Narrows a widened Tuple6<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6> to Tuple6<T1, T2, T3, T4, T5, T6>. This is eligible because immutable/read-only tuples are covariant.
        Type Parameters:
        T1 - the 1st component type
        T2 - the 2nd component type
        T3 - the 3rd component type
        T4 - the 4th component type
        T5 - the 5th component type
        T6 - the 6th component type
        Parameters:
        t - A Tuple6.
        Returns:
        the given t instance as narrowed type Tuple6<T1, T2, T3, T4, T5, T6>.
      • narrow

        static <T1,​T2,​T3,​T4,​T5,​T6,​T7> Tuple7<T1,​T2,​T3,​T4,​T5,​T6,​T7> narrow​(Tuple7<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6,​? extends T7> t)
        Narrows a widened Tuple7<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7> to Tuple7<T1, T2, T3, T4, T5, T6, T7>. This is eligible because immutable/read-only tuples are covariant.
        Type Parameters:
        T1 - the 1st component type
        T2 - the 2nd component type
        T3 - the 3rd component type
        T4 - the 4th component type
        T5 - the 5th component type
        T6 - the 6th component type
        T7 - the 7th component type
        Parameters:
        t - A Tuple7.
        Returns:
        the given t instance as narrowed type Tuple7<T1, T2, T3, T4, T5, T6, T7>.
      • narrow

        static <T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> Tuple8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> narrow​(Tuple8<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6,​? extends T7,​? extends T8> t)
        Narrows a widened Tuple8<? extends T1, ? extends T2, ? extends T3, ? extends T4, ? extends T5, ? extends T6, ? extends T7, ? extends T8> to Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>. This is eligible because immutable/read-only tuples are covariant.
        Type Parameters:
        T1 - the 1st component type
        T2 - the 2nd component type
        T3 - the 3rd component type
        T4 - the 4th component type
        T5 - the 5th component type
        T6 - the 6th component type
        T7 - the 7th component type
        T8 - the 8th component type
        Parameters:
        t - A Tuple8.
        Returns:
        the given t instance as narrowed type Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>.
      • sequence1

        static <T1> Tuple1<Seq<T1>> sequence1​(java.lang.Iterable<? extends Tuple1<? extends T1>> tuples)
        Turns a sequence of Tuple1 into a Tuple1 of Seq.
        Type Parameters:
        T1 - 1st component type
        Parameters:
        tuples - an Iterable of tuples
        Returns:
        a tuple of one Seq.
      • sequence2

        static <T1,​T2> Tuple2<Seq<T1>,​Seq<T2>> sequence2​(java.lang.Iterable<? extends Tuple2<? extends T1,​? extends T2>> tuples)
        Turns a sequence of Tuple2 into a Tuple2 of Seqs.
        Type Parameters:
        T1 - 1st component type
        T2 - 2nd component type
        Parameters:
        tuples - an Iterable of tuples
        Returns:
        a tuple of two Seqs.
      • sequence3

        static <T1,​T2,​T3> Tuple3<Seq<T1>,​Seq<T2>,​Seq<T3>> sequence3​(java.lang.Iterable<? extends Tuple3<? extends T1,​? extends T2,​? extends T3>> tuples)
        Turns a sequence of Tuple3 into a Tuple3 of Seqs.
        Type Parameters:
        T1 - 1st component type
        T2 - 2nd component type
        T3 - 3rd component type
        Parameters:
        tuples - an Iterable of tuples
        Returns:
        a tuple of three Seqs.
      • sequence4

        static <T1,​T2,​T3,​T4> Tuple4<Seq<T1>,​Seq<T2>,​Seq<T3>,​Seq<T4>> sequence4​(java.lang.Iterable<? extends Tuple4<? extends T1,​? extends T2,​? extends T3,​? extends T4>> tuples)
        Turns a sequence of Tuple4 into a Tuple4 of Seqs.
        Type Parameters:
        T1 - 1st component type
        T2 - 2nd component type
        T3 - 3rd component type
        T4 - 4th component type
        Parameters:
        tuples - an Iterable of tuples
        Returns:
        a tuple of 4 Seqs.
      • sequence5

        static <T1,​T2,​T3,​T4,​T5> Tuple5<Seq<T1>,​Seq<T2>,​Seq<T3>,​Seq<T4>,​Seq<T5>> sequence5​(java.lang.Iterable<? extends Tuple5<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5>> tuples)
        Turns a sequence of Tuple5 into a Tuple5 of Seqs.
        Type Parameters:
        T1 - 1st component type
        T2 - 2nd component type
        T3 - 3rd component type
        T4 - 4th component type
        T5 - 5th component type
        Parameters:
        tuples - an Iterable of tuples
        Returns:
        a tuple of 5 Seqs.
      • sequence6

        static <T1,​T2,​T3,​T4,​T5,​T6> Tuple6<Seq<T1>,​Seq<T2>,​Seq<T3>,​Seq<T4>,​Seq<T5>,​Seq<T6>> sequence6​(java.lang.Iterable<? extends Tuple6<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6>> tuples)
        Turns a sequence of Tuple6 into a Tuple6 of Seqs.
        Type Parameters:
        T1 - 1st component type
        T2 - 2nd component type
        T3 - 3rd component type
        T4 - 4th component type
        T5 - 5th component type
        T6 - 6th component type
        Parameters:
        tuples - an Iterable of tuples
        Returns:
        a tuple of 6 Seqs.
      • sequence7

        static <T1,​T2,​T3,​T4,​T5,​T6,​T7> Tuple7<Seq<T1>,​Seq<T2>,​Seq<T3>,​Seq<T4>,​Seq<T5>,​Seq<T6>,​Seq<T7>> sequence7​(java.lang.Iterable<? extends Tuple7<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6,​? extends T7>> tuples)
        Turns a sequence of Tuple7 into a Tuple7 of Seqs.
        Type Parameters:
        T1 - 1st component type
        T2 - 2nd component type
        T3 - 3rd component type
        T4 - 4th component type
        T5 - 5th component type
        T6 - 6th component type
        T7 - 7th component type
        Parameters:
        tuples - an Iterable of tuples
        Returns:
        a tuple of 7 Seqs.
      • sequence8

        static <T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8> Tuple8<Seq<T1>,​Seq<T2>,​Seq<T3>,​Seq<T4>,​Seq<T5>,​Seq<T6>,​Seq<T7>,​Seq<T8>> sequence8​(java.lang.Iterable<? extends Tuple8<? extends T1,​? extends T2,​? extends T3,​? extends T4,​? extends T5,​? extends T6,​? extends T7,​? extends T8>> tuples)
        Turns a sequence of Tuple8 into a Tuple8 of Seqs.
        Type Parameters:
        T1 - 1st component type
        T2 - 2nd component type
        T3 - 3rd component type
        T4 - 4th component type
        T5 - 5th component type
        T6 - 6th component type
        T7 - 7th component type
        T8 - 8th component type
        Parameters:
        tuples - an Iterable of tuples
        Returns:
        a tuple of 8 Seqs.