Append the argument HList to this HList.
Prepend the argument HList to this HList.
Prepend the argument element to this HList.
Append the argument element to this HList.
Prepend the argument element to this HList.
Prepend the argument HList to this HList.
Returns the nth element of this HList.
Returns the nth element of this HList. Available only if there is evidence that this HList has at least n
elements.
Returns the nth element of this HList.
Returns the nth element of this HList. An explicit type argument must be provided. Available only if there is
evidence that this HList has at least n elements.
Returns the nth element of this HList.
Returns the nth element of this HList. Available only if there is evidence that this HList has at least n
elements.
Returns the nth element of this HList.
Returns the nth element of this HList. An explicit type argument must be provided. Available only if there is
evidence that this HList has at least n elements.
Returns all but the first n elements of this HList.
Returns all but the first n elements of this HList. Available only if there is evidence that this HList
has at least n elements.
Returns all but the first n elements of this HList.
Returns all but the first n elements of this HList. An explicit type argument must be provided. Available
only if there is evidence that this HList has at least n elements.
Returns all elements of type U of this HList.
Returns all elements of type U of this HList. An explicit type argument must be provided.
Returns all elements of type different than U of this HList.
Returns all elements of type different than U of this HList. An explicit type argument must be provided.
Flatmaps a higher rank function across this HList.
Computes a left fold over this HList using the polymorphic binary combining operator op.
Computes a left fold over this HList 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 HList and folds the result using monomorphic combining operator
op.
Maps a higher rank function f across this HList 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 HList using the polymorphic binary combining operator op.
Computes a right fold over this HList 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.
Returns the head of this HList.
Returns the head of this HList. Available only if there is evidence that this HList is composite.
Returns an HList consisting of all the elements of this HList except the last.
Returns an HList consisting of all the elements of this HList except the last. Available only if there is
evidence that this HList is composite.
Returns the last element of this HList.
Returns the last element of this HList. Available only if there is evidence that this HList is composite.
Compute the length of this HList.
Maps a higher rank function across this HList.
Replaces each element of this HList with a constant value.
Computes a left reduce over this HList using the polymorphic binary combining operator op.
Computes a left reduce over this HList using the polymorphic binary combining operator op. Available only if
there is evidence that this HList 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 HList using the polymorphic binary combining operator op.
Computes a right reduce over this HList using the polymorphic binary combining operator op. Available only if
there is evidence that this HList 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 HList that have types in SL plus the remainder of the HList.
Returns the first elements of this HList that have types in SL plus the remainder of the HList. An expicit
type argument must be provided. Available only if there is evidence that this HList contains elements with
types in SL.
Returns the first element of type U of this HList plus the remainder of the HList.
Returns the first element of type U of this HList plus the remainder of the HList. An explicit type argument
must be provided. Available only if there is evidence that this HList has an element of type U.
The Elem suffix is here to avoid creating an ambiguity with RecordOps#remove and should be removed if
SI-5414 is resolved in a way which eliminates the ambiguity.
Replaces the first element of type U of this HList with the supplied value, also of type U returning both
the replaced element and the updated HList.
Replaces the first element of type U of this HList with the supplied value, also of type U returning both
the replaced element and the updated HList. Available only if there is evidence that this HList has an element
of type U.
Replaces the first element of type U of this HList with the supplied value of type V, returning both the
replaced element and the updated HList.
Replaces the first element of type U of this HList with the supplied value of type V, returning both the
replaced element and the updated HList. An explicit type argument must be provided for U. Available only if
there is evidence that this HList has an element of type U.
Reverses this HList.
Prepend the reverse of the argument HList to this HList.
Splits this HList at the nth element, returning the reverse of the prefix and suffix as a pair.
Splits this HList at the nth element, returning the reverse of the prefix and suffix as a pair. Available
only if there is evidence that this HList has at least n elements.
Splits this HList at the nth element, returning the reverse of the prefix and suffix as a pair.
Splits this HList 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 HList has at least n elements.
Splits this HList at the first occurrence of an element of type U, returning reverse of the prefix and suffix
as a pair.
Splits this HList 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 HList has
an element of type U.
Splits this HList at the last occurrence of an element of type U, returning reverse of the prefix and suffix
as a pair.
Splits this HList 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 HList has
an element of type U.
Compute the length of this HList as a runtime Int value.
Returns the first element of type U of this HList.
Returns the first element of type U of this HList. An explicit type argument must be provided. Available only
if there is evidence that this HList has an element of type U.
Splits this HList at the nth element, returning the prefix and suffix as a pair.
Splits this HList at the nth element, returning the prefix and suffix as a pair. Available only if there is
evidence that this HList has at least n elements.
Splits this HList at the nth element, returning the prefix and suffix as a pair.
Splits this HList 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 HList has at least n elements.
Splits this HList at the first occurrence of an element of type U, returning the prefix and suffix as a pair.
Splits this HList 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 HList has an element
of type U.
Splits this HList at the last occurrence of an element of type U, returning the prefix and suffix as a pair.
Splits this HList 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 HList has an element
of type U.
Returns the tail of this HList.
Returns the tail of this HList. Available only if there is evidence that this HList is composite.
Returns the first n elements of this HList.
Returns the first n elements of this HList. Available only if there is evidence that this HList has at
least n elements.
Returns the first n elements of this HList.
Returns the first n elements of this HList. An explicit type argument must be provided. Available only if
there is evidence that this HList has at least n elements.
Converts this HList to an Array of elements typed as the least upper bound of the types of the elements
of this HList.
Converts this HList to an Array of elements typed as the least upper bound of the types of the elements
of this HList.
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 Arrays.
Converts this HList to an ordinary List of elements typed as the least upper bound of the types of the elements
of this HList.
Transposes this HList.
Converts this HList to a correspondingly typed tuple.
Returns an HList typed as a repetition of the least upper bound of the types of the elements of this HList.
Returns an HList with all elements that are subtypes of B typed as B.
Unzips this HList of tuples returning a tuple of HLists.
Unzips this HList of tuples returning a tuple of HLists. Available only if there is evidence that this
HList has tuple elements.
Replaces the nth' element of this HList with the supplied value of type U. Available only if there is
evidence that this HList has at least n elements.
Replaces the nth' element of this HList with the supplied value of type U. An explicit type argument
must be provided for N. Available only if there is evidence that this HList has at least n elements.
Replaces the first element of type U of this HList with the supplied value, also of type U.
Replaces the first element of type U of this HList with the supplied value, also of type U. Available only
if there is evidence that this HList has an element of type U.
The Elem suffix is here to avoid creating an ambiguity with RecordOps#updated and should be removed if
SI-5414 is resolved in a way which eliminates the ambiguity.
Replaces the first element of type U of this HList with the supplied value of type V.
Replaces the first element of type U of this HList with the supplied value of type V. An explicit type
argument must be provided for U. Available only if there is evidence that this HList has an element of
type U.
Zips this HList of HLists returning an HList of tuples.
Zips this HList of HLists returning an HList of tuples. Available only if there is evidence that this
HList has HList elements.
Zips this HList with its argument HList returning an HList of pairs.
Zips this HList of monomorphic function values with its argument HList of correspondingly typed function
arguments returning the result of each application as an HList.
Zips this HList of monomorphic function values with its argument HList of correspondingly typed function
arguments returning the result of each application as an HList. Available only if there is evidence that the
corresponding function and argument elements have compatible types.
Zips this HList with a constant, resulting in an HList of tuples of the form
({element from this HList}, {supplied constant})
Zips this HList with its argument HList of HLists, returning an HList of HLists with each element of
this HList prepended to the corresponding HList element of the argument HList.
Zips this 'HList' with its argument 'HList' using argument 'Poly2', returning an 'HList'.
Zips this 'HList' with its argument 'HList' using argument 'Poly2', returning an 'HList'. Doesn't require this to be the same length as its 'HList' argument, but does require evidence that its 'Poly2' argument is defined at their intersection.
Converts this HList of values into a record with the provided keys.
Unzips this HList of tuples returning a tuple of HLists.
Unzips this HList of tuples returning a tuple of HLists. Available only if there is evidence that this
HList has tuple elements.
(Since version 2.0.0) Use unzip instead
Zips this HList of HLists returning an HList of tuples.
Zips this HList of HLists returning an HList of tuples. Available only if there is evidence that this
HList has HList elements.
(Since version 2.0.0) Use zip instead
Carrier for
HListoperations.These methods are implemented here and pimped onto the minimal
HListtypes to avoid issues that would otherwise be caused by the covariance of::[H, T].