Append the argument tuple to this tuple.
Prepend the argument tuple to this tuple.
Prepend the argument element to this tuple.
Append the argument element to this tuple.
Prepend the argument tuple to this tuple.
Permutes this Tuple
into the same order as the supplied Tuple
with the same element types.
Permutes this Tuple
into the same order as the supplied Tuple
with the same element types. Available only if
both HList
s have elements of the same types.
Permutes this Tuple
into the same order as another Tuple
.
Permutes this Tuple
into the same order as another Tuple
. An explicit type argument must be supplied.
Available only if both Tuple
s have elements of the same types.
Returns the nth element of this tuple.
Returns the nth element of this tuple. Available only if there is evidence that this tuple has at least n elements.
Returns the nth element of this tuple.
Returns the nth element of this tuple. An explicit type argument must be provided. Available only if there is evidence that this tuple has at least n elements.
Returns the nth element of this tuple.
Returns the nth element of this tuple. Available only if there is evidence that this tuple has at least n elements.
Returns the nth element of this tuple.
Returns the nth element of this tuple. An explicit type argument must be provided. Available only if there is evidence that this tuple has at least n elements.
Collect a higher rank function across this tuple
Returns all but the first n elements of this tuple.
Returns all but the first n elements of this tuple. Available only if there is evidence that this tuple has at least n elements.
Returns all but the first n elements of this tuple.
Returns all but the first n elements of this tuple. An explicit type argument must be provided. Available only if there is evidence that this tuple has at least n elements.
Returns all elements of type U
of this tuple.
Returns all elements of type U
of this tuple. An explicit type argument must be provided.
Returns all elements of type different than U
of this tuple.
Returns all elements of type different than U
of this tuple. An explicit type argument must be provided.
Flatmaps a higher rank function across this tuple.
Computes a left fold over this tuple using the polymorphic binary combining operator op
.
Computes a left fold over this tuple using the polymorphic binary combining operator op
. Available only if
there is evidence op
can consume/produce all the partial results of the appropriate types.
Maps a higher rank function f across this tuple and folds the result using monomorphic combining operator
op
.
Maps a higher rank function f across this tuple and folds the result using monomorphic combining operator
op
. Available only if there is evidence that the result type of f
at each element conforms to the argument
type of op.
Computes a right fold over this tuple using the polymorphic binary combining operator op
.
Computes a right fold over this tuple using the polymorphic binary combining operator op
. Available only if
there is evidence op
can consume/produce all the partial results of the appropriate types.
Groups the elements of this Tuple
into tuples of n
elements, offset by step
Use elements in pad
as necessary to complete last group up to n
items.
Groups the elements of this Tuple
into tuples of n
elements, offset by step
Returns the first element of this tuple.
Returns a tuple consisting of all the elements of this tuple except the last.
Returns a tuple consisting of all the elements of this tuple except the last. Available only if there is evidence that this tuple is composite.
Returns the last element of this tuple.
Returns the last element of this tuple. Available only if there is evidence that this tuple is composite.
Compute the length of this tuple.
Maps a higher rank function across this tuple.
Replaces each element of this tuple with a constant value.
Displays all elements of this tuple in a string using start, end, and separator strings.
Produces a new tuple where a slice of this tuple is replaced by another.
Produces a new tuple where a slice of this tuple is replaced by another. Two explicit type arguments must be provided.
Available only if there are at least N
plus M
elements.
Produces a new tuple where a slice of this tuple is replaced by another.
Produces a new tuple where a slice of this tuple is replaced by another. Available only if there are at least
plus n
elements.
m
Returns all permutations of this tuple.
Returns an HList
containing the elements of this tuple.
Computes a left reduce over this tuple using the polymorphic binary combining operator op
.
Computes a left reduce over this tuple using the polymorphic binary combining operator op
. Available only if
there is evidence that this tuple has at least one element and that op
can consume/produce all the partial
results of the appropriate types.
Computes a right reduce over this tuple using the polymorphic binary combining operator op
.
Computes a right reduce over this tuple using the polymorphic binary combining operator op
. Available only if
there is evidence that this tuple has at least one element and that op
can consume/produce all the partial
results of the appropriate types.
Returns the first elements of this tuple that have types in S
plus the remainder of the tuple.
Returns the first elements of this tuple that have types in S
plus the remainder of the tuple. An expicit
type argument must be provided. Available only if there is evidence that this tuple contains elements with
types in S
.
Returns the first element of type U
of this tuple plus the remainder of the tuple.
Returns the first element of type U
of this tuple plus the remainder of the tuple. An explicit type argument
must be provided. Available only if there is evidence that this tuple has an element of type U
.
The Elem
suffix is here for consistency with the corresponding method name for HList
and should be
removed when the latter is removed.
Replaces the first element of type U
of this tuple with the supplied value, also of type U
returning both
the replaced element and the updated tuple.
Replaces the first element of type U
of this tuple with the supplied value, also of type U
returning both
the replaced element and the updated tuple. Available only if there is evidence that this tuple has an element
of type U
.
Replaces the first element of type U
of this tuple with the supplied value of type V
, returning both the
replaced element and the updated tuple.
Replaces the first element of type U
of this tuple with the supplied value of type V
, returning both the
replaced element and the updated tuple. An explicit type argument must be provided for U
. Available only if
there is evidence that this tuple has an element of type U
.
Reverses this tuple.
Prepend the reverse of the argument tuple to this tuple.
Splits this tuple at the nth element, returning the reverse of the prefix and suffix as a pair.
Splits this tuple at the nth element, returning the reverse of the prefix and suffix as a pair. Available only if there is evidence that this tuple has at least n elements.
Splits this tuple at the nth element, returning the reverse of the prefix and suffix as a pair.
Splits this tuple at the nth element, returning the reverse of the prefix and suffix as a pair. An explicit type argument must be provided. Available only if there is evidence that this tuple has at least n elements.
Splits this tuple at the first occurrence of an element of type U
, returning reverse of the prefix and suffix
as a pair.
Splits this tuple at the first occurrence of an element of type U
, returning reverse of the prefix and suffix
as a pair. An explicit type argument must be provided. Available only if there is evidence that this tuple has
an element of type U
.
Splits this tuple at the last occurrence of an element of type U
, returning reverse of the prefix and suffix
as a pair.
Splits this tuple at the last occurrence of an element of type U
, returning reverse of the prefix and suffix
as a pair. An explicit type argument must be provided. Available only if there is evidence that this tuple has
an element of type U
.
Rotate this tuple left by N
Rotate this tuple right by N
Computes a left scan over this tuple using the polymorphic binary combining operator op
.
Computes a left scan over this tuple using the polymorphic binary combining operator op
. Available only if
there is evidence op
can consume/produce all the results of the appropriate types.
Computes a left scan over this tuple using the polymorphic binary combining operator op
.
Computes a left scan over this tuple using the polymorphic binary combining operator op
. Available only if
there is evidence op
can consume/produce all the results of the appropriate types.
Returns the first element of type U
of this tuple.
Returns the first element of type U
of this tuple. An explicit type argument must be provided. Available only
if there is evidence that this tuple has an element of type U
.
Splits this tuple at the nth element, returning the prefix and suffix as a pair.
Splits this tuple at the nth element, returning the prefix and suffix as a pair. Available only if there is evidence that this tuple has at least n elements.
Splits this tuple at the nth element, returning the prefix and suffix as a pair.
Splits this tuple at the nth element, returning the prefix and suffix as a pair. An explicit type argument must be provided. Available only if there is evidence that this tuple has at least n elements.
Splits this tuple at the first occurrence of an element of type U
, returning the prefix and suffix as a pair.
Splits this tuple at the first occurrence of an element of type U
, returning the prefix and suffix as a pair.
An explicit type argument must be provided. Available only if there is evidence that this tuple has an element
of type U
.
Splits this tuple at the last occurrence of an element of type U
, returning the prefix and suffix as a pair.
Splits this tuple at the last occurrence of an element of type U
, returning the prefix and suffix as a pair.
An explicit type argument must be provided. Available only if there is evidence that this tuple has an element
of type U
.
Returns that tail of this tuple.
Returns that tail of this tuple. Available only if there is evidence that this tuple is composite.
Returns the first n elements of this tuple.
Returns the first n elements of this tuple. Available only if there is evidence that this tuple has at least n elements.
Returns the first n elements of this tuple.
Returns the first n elements of this tuple. An explicit type argument must be provided. Available only if there is evidence that this tuple has at least n elements.
Converts this tuple to a M
of elements typed as the least upper bound of the types of the elements
of this tuple.
Converts this tuple to an Array
of elements typed as the least upper bound of the types of the elements
of this tuple.
Converts this tuple to an Array
of elements typed as the least upper bound of the types of the elements
of this tuple.
It is advisable to specify the type parameter explicitly, because for many reference types, case classes in
particular, the inferred type will be too precise (ie. Product with Serializable with CC
for a typical case class
CC
) which interacts badly with the invariance of Array
s.
Converts this tuple to a List
of elements typed as the least upper bound of the types of the elements
of this tuple.
Converts this tuple to a M
of elements typed as the least upper bound of the types of the elements
of this tuple.
Transposes this tuple.
Returns a tuple typed as a repetition of the least upper bound of the types of the elements of this tuple.
Returns a tuple with all elements that are subtypes of B
typed as B
.
Unzips this tuple of tuples returning a tuple of tuples.
Unzips this tuple of tuples returning a tuple of tuples. Available only if there is evidence that this tuple has tuple elements.
Replaces the N
th element of this Tuple
with the result of calling the supplied function on it.
Replaces the N
th element of this Tuple
with the result of calling the supplied function on it.
Available only if there is evidence that this Tuple
has N
elements.
Replaces the first element of type U
of this tuple with the result of its transformation to a V
via the
supplied function.
Replaces the first element of type U
of this tuple with the result of its transformation to a V
via the
supplied function. Available only if there is evidence that this tuple has an element of type U
.
Replaces the nth' element of this tuple with the supplied value of type U
. Available only if there is
evidence that this tuple has at least n elements.
Replaces the nth' element of this tuple with the supplied value of type U
. An explicit type argument
must be provided for N
. Available only if there is evidence that this tuple has at least n elements.
Replaces the first element of type U
of this tuple with the supplied value, also of type U
.
Replaces the first element of type U
of this tuple with the supplied value, also of type U
. Available only
if there is evidence that this tuple has an element of type U
.
The Elem
suffix is here for consistency with the corresponding method name for HList
and should be
removed when the latter is removed.
Replaces the first element of type U
of this tuple with the supplied value of type V
.
Replaces the first element of type U
of this tuple with the supplied value of type V
. An explicit type
argument must be provided for U
. Available only if there is evidence that this tuple has an element of
type U
.
Zips this tuple of tuples returning a tuple of tuples.
Zips this tuple of tuples returning a tuple of tuples. Available only if there is evidence that this tuple has tuple elements.
Zips this tuple with its argument tuple returning a tuple of pairs.
Zips this tuple of monomorphic function values with its argument tuple of correspondingly typed function arguments returning the result of each application as a tuple.
Zips this tuple of monomorphic function values with its argument tuple of correspondingly typed function arguments returning the result of each application as a tuple. Available only if there is evidence that the corresponding function and argument elements have compatible types.
Zips this tuple with a constant, resulting in a tuple of tuples, with each element being of the form ({element from original tuple}, {supplied constant})
Zips this tuple with its argument tuple of tuples, returning a tuple of tuples with each element of this tuple prepended to the corresponding tuple element of the argument tuple.
Zips this tuple with its element indices, resulting in a tuple of tuples of the form ({element from input tuple}, {element index})