Type class supporting permuting this HList into the same order as another HList with
the same element types.
Type class supporting access to the nth element of this HList.
Type class supporting access to the nth element of this HList. Available only if this HList has at least
n elements.
Type Class witnessing that an 'HList' can be collected with a 'Poly' to produce an 'HList'
Type class witnessing that there exists at least one element of an HList for which a Poly can be
applied.
Type class witnessing that the result of stripping type constructor F off each element of HList L is Out.
Type class supporting mapping a constant valued function over this HList.
Type class supporting HList subtraction.
Type class supporting HList subtraction. In case of duplicate types, this operation is a multiset difference.
If type T appears n times in this HList and m < n times in M, the resulting HList contains the last n - m
elements of type T in this HList.
Also available if M contains types absent in this HList.
Type class supporting removal of the first n elements of this HList.
Type class supporting removal of the first n elements of this HList. Available only if this HList has at
least n elements.
Type class supporting producing a HList of shape N filled with elements of type A.
Type class supporting access to the all elements of this HList of type U.
Type class supporting access to the all elements of this HList of type different than U.
Type class supporting interleaving an element into each row of this HMatrix (HList of HLists)
Type class supporting flatmapping a higher ranked function over this HList.
Typeclass supporting grouping this HList into tuples of N items each, at Step
apart.
Typeclass supporting grouping this HList into tuples of N items each, at Step
apart. If Step equals N then the groups do not overlap.
Type class providing minimally witnessed operations on HLists which can be derived from L by wrapping
each of its elements in a type constructor.
Type class supporting access to all but the last element of this HList.
Type class supporting access to all but the last element of this HList. Available only if this HList has at
least one element.
Type class supporting adding an element to each possible position in this HList
Type class supporting HList intersection.
Type class supporting HList intersection. In case of duplicate types, this operation is a multiset intersection.
If type T appears n times in this HList and m < n times in M, the resulting HList contains the first m
elements of type T in this HList.
Also available if M contains types absent in this HList.
Type class witnessing that this HList is composite and providing access to head and tail.
Type class supporting access to the last element of this HList.
Type class supporting access to the last element of this HList. Available only if this HList has at least one
element.
Type class supporting left-folding a polymorphic binary function over this HList.
Type class supporting left-reducing a polymorphic binary function over this HList.
Type class supporting left scanning of this HList with a binary polymorphic function.
Type class supporting computing the type-level Nat corresponding to the length of this HList.
Typeclass witnessing that all the elements of an HList have instances of the given typeclass.
Typeclass witnessing that all the elements of an HList have instances of the given typeclass. Courtesy of mpilquist.
Typeclass supporting grouping this HList into tuples of N items each, at Step
apart.
Typeclass supporting grouping this HList into tuples of N items each, at Step
apart. If Step equals N then the groups do not overlap.
Use elements in pad as necessary to complete last group up to n items.
Type class supporting mapping a polymorphic function over this HList and then folding the result using a
monomorphic function value.
Type class witnessing that the result of wrapping each element of HList L in type constructor F is Out.
Type class supporting mapping a higher ranked function over this HList.
Type class supporting replacement of the first element of type U from this HList with the result of
its transformation via a given function into a new element of type V.
Type class supporting replacement of the first element of type U from this HList with the result of
its transformation via a given function into a new element of type V.
Available only if this HList contains an element of type U.
Type class supporting replacement of the Nth element of this HList with the result of
calling F on it.
Type class supporting replacement of the Nth element of this HList with the result of
calling F on it.
Available only if this HList contains at least N elements.
Type class witnessing that HLists L1 and L2 have elements of the form F1[Ln] and F2[Ln] respectively for all
indices n.
Type class witnessing that HLists L1 and L2 have elements of the form F1[Ln] and F2[Ln] respectively for all
indices n. This implies that a natural transform F1 ~> F2 will take a list of type L1 onto a list of type L2.
Type class supporting producing a HList of shape N padded with elements of type A.
Type class supporting partitioning this HList into those elements of type U and the
remainder
Type class supporting the patching of an HList
Type class supporting the calculation of every permutation of this 'HList'
Type class supporting prepending to this HList.
Type class supporting removal of an element from this HList.
Type class supporting removal of an element from this HList. Available only if this HList contains an
element of type E.
Type class supporting removal of a sublist from this HList.
Type class supporting removal of a sublist from this HList. Available only if this HList contains a
sublist of type SL.
The elements of SL do not have to be contiguous in this HList.
Type class supporting replacement of the Nth element of this HList with an element of type V.
Type class supporting replacement of the Nth element of this HList with an element of type V. Available only if
this HList contains at least N elements.
Type class supporting replacement of the first element of type U from this HList with an element of type V.
Type class supporting replacement of the first element of type U from this HList with an element of type V.
Available only if this HList contains an element of type U.
Type class supporting reversing this HList.
Type class supporting reverse prepending to this HList.
Type class supporting splitting this HList at the nth element returning the reverse prefix and suffix as a
pair.
Type class supporting splitting this HList at the nth element returning the reverse prefix and suffix as a
pair. Available only if this HList has at least n elements.
Type class supporting splitting this HList at the first occurrence of an element of type U returning the reverse
prefix and suffix as a pair.
Type class supporting splitting this HList at the first occurrence of an element of type U returning the reverse
prefix and suffix as a pair. Available only if this HList contains an element of type U.
Type class supporting splitting this HList at the last occurrence of an element of type U returning the reverse
prefix and suffix as a pair.
Type class supporting splitting this HList at the last occurrence of an element of type U returning the reverse
prefix and suffix as a pair. Available only if this HList contains an element of type U.
Type class supporting right-folding a polymorphic binary function over this HList.
Type class supporting right-reducing a polymorphic binary function over this HList.
Type class supporting right scanning of this HList with a binary polymorphic function.
Type class supporting rotating a HList left
Type class supporting rotating a HList right
Type class supporting access to the elements of this HList specified by Ids.
Type class supporting access to the elements of this HList specified by Ids. Available only if this HList
contains all elements specified in Ids.
Type class supporting supporting access to the elements in range [a,b[ of this HList.
Type class supporting supporting access to the elements in range [a,b[ of this HList.
Avaialable only if this HList contains all elements in range
Type class supporting access to the first element of this HList of type U.
Type class supporting access to the first element of this HList of type U. Available only if this HList
contains an element of type U.
Type class supporting the slicing of an HList
Type class supporting splitting this HList at the nth element returning the prefix and suffix as a pair.
Type class supporting splitting this HList at the nth element returning the prefix and suffix as a pair.
Available only if this HList has at least n elements.
Type class supporting splitting this HList at the first occurrence of an element of type U returning the prefix
and suffix as a pair.
Type class supporting splitting this HList at the first occurrence of an element of type U returning the prefix
and suffix as a pair. Available only if this HList contains an element of type U.
Type class supporting splitting this HList at the last occurrence of an element of type U returning the prefix
and suffix as a pair.
Type class supporting splitting this HList at the last occurrence of an element of type U returning the prefix
and suffix as a pair. Available only if this HList contains an element of type U.
Type class supporting unification of all elements that are subtypes of B in this HList to B, with all other
elements left unchanged.
Type class supporting retrieval of the first n elements of this HList.
Type class supporting retrieval of the first n elements of this HList. Available only if this HList has at
least n elements.
Type aliases and constructors provided for backward compatibility
Type class computing the coproduct type corresponding to this HList.
Type class supporting conversion of this HList to a M with elements typed as
a minimal Coproduct Cop such as each type of the elements of L appears once in Cop.
Type class supporting conversion of this HList to a Sized[M[Lub], N] with elements typed
as the least upper bound Lub of the types of the elements of this HList.
Type class supporting conversion of this HList to a Sized[M[Lub], N] with elements typed
as the least upper bound Lub of the types of the elements of this HList.
About serializability, see the comment in ToTraversable.
Type class supporting conversion of this HList to a M with elements typed
as the least upper bound Lub of the types of the elements of this HList.
Type class supporting conversion of this HList to a M with elements typed
as the least upper bound Lub of the types of the elements of this HList.
Serializable if the CanBuildFroms it implicitly finds are too.
Note that the CanBuildFroms from the standard library are *not*
serializable. See the tests for how to make your own serializable
CanBuildFrom available to ToTraversable.
Type class supporting transposing this HList.
Type class supporting conversion of this HList to a tuple.
Type class supporting unification of this HList.
Type class supporting HList union.
Type class supporting HList union. In case of duplicate types, this operation is a order-preserving multi-set union.
If type T appears n times in this HList and m > n times in M, the resulting HList contains the first n elements
of type T in this HList, followed by the last m - n element of type T in M.
Type class supporting unzipping this HList of tuples returning a tuple of HLists.
Type class supporting zipping this HList of HLists returning an HList of tuples.
Type class supporting zipping this HList of monomorphic function values with its argument HList of
correspondingly typed function arguments returning the result of each application as an HList.
Type class supporting zipping 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.
Type class supporting zipping an HList with a constant, resulting in an HList of tuples of the form
({element from input HList}, {supplied constant})
Type class supporting zipping this HList with an HList of HLists returning an HList of HLists with each
element of this HList prepended to the corresponding HList element of the argument HList.
Type class supporting zipping an 'HList' with another 'HList' using a 'Poly2' resulting in an HList
Type class supporting zipping a HList with its element indices, resulting in a 'HList' of tuples of the form
({element from input tuple}, {element index})
Type class supporting zipping an HList of values with an HList of keys to create a record.
Type class computing the sum type corresponding to this HList.