Class

shapeless.syntax

HListOps

Related Doc: package syntax

Permalink

final class HListOps[L <: HList] extends Serializable

Carrier for HList operations.

These methods are implemented here and pimped onto the minimal HList types to avoid issues that would otherwise be caused by the covariance of ::[H, T].

Linear Supertypes
Serializable, Serializable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. HListOps
  2. Serializable
  3. Serializable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new HListOps(l: L)

    Permalink

Type Members

  1. class PatchAux[N <: Nat, M <: Nat] extends AnyRef

    Permalink
  2. class ReinsertAllAux[O <: HList] extends AnyRef

    Permalink
  3. class ReinsertAux[O <: HList] extends AnyRef

    Permalink
  4. class ReplaceTypeAux[U] extends AnyRef

    Permalink
  5. case class SelectManyAux[L <: HList](l: L) extends NatProductArgs with Product with Serializable

    Permalink

    Returns the elements of this HList specified by Ids.

    Returns the elements of this HList specified by Ids. Available only if there is evidence that this HList contains all elements specified in Ids.

  6. class UpdatedAtAux[N <: Nat] extends AnyRef

    Permalink
  7. class UpdatedTypeAux[U] extends AnyRef

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def ++[S <: HList](suffix: S)(implicit prepend: Prepend[L, S]): Out

    Permalink

    Append the argument HList to this HList.

  4. def ++:[P <: HList](prefix: P)(implicit prepend: Prepend[P, L]): Out

    Permalink

    Prepend the argument HList to this HList.

  5. def +:[H](h: H): ::[H, L]

    Permalink

    Prepend the argument element to this HList.

  6. def :+[T](t: T)(implicit prepend: Prepend[L, ::[T, HNil]]): Out

    Permalink

    Append the argument element to this HList.

  7. def ::[H](h: H): ::[H, L]

    Permalink

    Prepend the argument element to this HList.

  8. def :::[P <: HList](prefix: P)(implicit prepend: Prepend[P, L]): Out

    Permalink

    Prepend the argument HList to this HList.

  9. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def adjoined(implicit adjoin: Adjoin[L]): ops.adjoin.Adjoin.Out

    Permalink

    Adjoins the elements of this HList by flattening any HList elements.

  11. def align[M <: HList](m: M)(implicit align: Align[L, M]): M

    Permalink

    Permutes this HList into the same order as the supplied HList with the same element types.

    Permutes this HList into the same order as the supplied HList with the same element types. Available only if both HLists have elements of the same types.

  12. def align[M <: HList](implicit align: Align[L, M]): M

    Permalink

    Permutes this HList into the same order as another HList.

    Permutes this HList into the same order as another HList. An explicit type argument must be supplied. Available only if both HLists have elements of the same types.

  13. def apply(n: Nat)(implicit at: At[L, N]): ops.hlist.At.Out

    Permalink

    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.

  14. def apply[N <: Nat](implicit at: At[L, N]): ops.hlist.At.Out

    Permalink

    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.

  15. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  16. def at(n: Nat)(implicit at: At[L, N]): ops.hlist.At.Out

    Permalink

    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.

  17. def at[N <: Nat](implicit at: At[L, N]): ops.hlist.At.Out

    Permalink

    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.

  18. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. def collect(p: Poly)(implicit collect: Collect[L, p.type]): Out

    Permalink

    Collect a higher rank function across this HList.

  20. def collectFirst[P <: Poly](p: P)(implicit collect: CollectFirst[L, p.type]): ops.hlist.CollectFirst.Out

    Permalink

    Finds the first element of the HList for which the given Poly is defined, and applies the Poly to it.

  21. def diff[M <: HList](implicit diff: Diff[L, M]): Out

    Permalink

    Returns the difference between this HList and another HList.

    Returns the difference between this HList and another HList. 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.

  22. def drop(n: Nat)(implicit drop: Drop[L, N]): Out

    Permalink

    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.

  23. def drop[N <: Nat](implicit drop: Drop[L, N]): Out

    Permalink

    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.

  24. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  25. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  26. def filter[U](implicit partition: Partition[L, U]): Prefix

    Permalink

    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.

  27. def filterNot[U](implicit partition: Partition[L, U]): Suffix

    Permalink

    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.

  28. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  29. def flatMap(f: Poly)(implicit mapper: FlatMapper[f.type, L]): Out

    Permalink

    Flatmaps a higher rank function across this HList.

  30. def foldLeft[R](z: R)(op: Poly)(implicit folder: LeftFolder[L, R, op.type]): ops.hlist.LeftFolder.Out

    Permalink

    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.

  31. def foldMap[R](z: R)(f: Poly)(op: (R, R) ⇒ R)(implicit folder: MapFolder[L, R, f.type]): R

    Permalink

    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.

  32. def foldRight[R](z: R)(op: Poly)(implicit folder: RightFolder[L, R, op.type]): ops.hlist.RightFolder.Out

    Permalink

    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.

  33. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  34. def group[Pad <: HList](n: Nat, step: Nat, pad: Pad)(implicit grouper: PaddedGrouper[L, N, N, Pad]): Out

    Permalink

    Groups the elements of this HList into tuples of n elements, offset by step Use elements in pad as necessary to complete last group up to n items.

  35. def group(n: Nat, step: Nat)(implicit grouper: Grouper[L, N, N]): Out

    Permalink

    Groups the elements of this HList into tuples of n elements, offset by step

  36. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  37. def head(implicit c: IsHCons[L]): H

    Permalink

    Returns the head of this HList.

    Returns the head of this HList. Available only if there is evidence that this HList is composite.

  38. def init(implicit init: Init[L]): Out

    Permalink

    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.

  39. def intersect[M <: HList](implicit intersection: Intersection[L, M]): Out

    Permalink

    Returns the intersection between this HList and another HList.

    Returns the intersection between this HList and another HList. 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.

  40. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  41. def last(implicit last: Last[L]): ops.hlist.Last.Out

    Permalink

    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.

  42. def length(implicit length: Length[L]): Out

    Permalink

    Compute the length of this HList.

  43. def map(f: Poly)(implicit mapper: Mapper[f.type, L]): Out

    Permalink

    Maps a higher rank function across this HList.

  44. def mapCons[A](a: A)(implicit mapCons: MapCons[A, L]): Out

    Permalink

    Conses an element onto each row of this HMatrix (HList of HLists).

  45. def mapConst[C](c: C)(implicit mapper: ConstMapper[C, L]): Out

    Permalink

    Replaces each element of this HList with a constant value.

  46. def mkString(start: String, sep: String, end: String)(implicit toTraversable: Aux[L, List, Any]): String

    Permalink

    Displays all elements of this hlist in a string using start, end, and separator strings.

  47. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  48. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  49. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  50. def padTo[A](n: Nat, elem: A)(implicit padTo: PadTo[N, A, L]): Out

    Permalink

    Appends elem until a given length N is reached.

  51. def partition[U](implicit partition: Partition[L, U]): (Prefix, Suffix)

    Permalink
  52. def partitionP[U](implicit partition: Partition[L, U]): ::[Prefix, ::[Suffix, HNil]]

    Permalink
  53. def patch[N <: Nat, M <: Nat]: PatchAux[N, M]

    Permalink

    Produces a new HList where a slice of this HList is replaced by another.

    Produces a new HList where a slice of this HList is replaced by another. Two explicit type arguments must be provided. Available only if there are at least N plus M elements.

  54. def patch[In <: HList](n: Nat, in: In, m: Nat)(implicit patcher: Patcher[N, N, L, In]): Out

    Permalink

    Produces a new HList where a slice of this HList is replaced by another.

    Produces a new HList where a slice of this HList is replaced by another. Available only if there are at least n plus m elements.

  55. def permutations(implicit permutations: Permutations[L]): Out

    Permalink

    Returns all permutations of this 'HList'

  56. def reduceLeft(op: Poly)(implicit reducer: LeftReducer[L, op.type]): ops.hlist.LeftReducer.Out

    Permalink

    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.

  57. def reduceRight(op: Poly)(implicit reducer: RightReducer[L, op.type]): ops.hlist.RightReducer.Out

    Permalink

    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.

  58. def reinsert[O <: HList]: ReinsertAux[O]

    Permalink

    Reinserts an element U into this HList to return another HList O.

  59. def reinsertAll[O <: HList]: ReinsertAllAux[O]

    Permalink

    Reinserts the elements of SL into this HList to return another HList O.

  60. def removeAll[SL <: HList](implicit removeAll: RemoveAll[L, SL]): ops.hlist.RemoveAll.Out

    Permalink

    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.

  61. def removeElem[U](implicit remove: Remove[L, U]): ops.hlist.Remove.Out

    Permalink

    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.

  62. def replace[U](u: U)(implicit replacer: Replacer[L, U, U]): ops.hlist.Replacer.Out

    Permalink

    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.

  63. def replaceType[U]: ReplaceTypeAux[U]

    Permalink

    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.

  64. def reverse(implicit reverse: Reverse[L]): Out

    Permalink

    Reverses this HList.

  65. def reverse_:::[P <: HList](prefix: P)(implicit prepend: ReversePrepend[P, L]): Out

    Permalink

    Prepend the reverse of the argument HList to this HList.

  66. def reverse_split(n: Nat)(implicit split: ReverseSplit[L, N]): (Prefix, Suffix)

    Permalink

    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.

  67. def reverse_split[N <: Nat](implicit split: ReverseSplit[L, N]): (Prefix, Suffix)

    Permalink

    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.

  68. def reverse_splitLeft[U](implicit split: ReverseSplitLeft[L, U]): (Prefix, Suffix)

    Permalink

    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.

  69. def reverse_splitLeftP[U](implicit split: ReverseSplitLeft[L, U]): ::[Prefix, ::[Suffix, HNil]]

    Permalink
  70. def reverse_splitP(n: Nat)(implicit split: ReverseSplit[L, N]): ::[Prefix, ::[Suffix, HNil]]

    Permalink
  71. def reverse_splitP[N <: Nat](implicit split: ReverseSplit[L, N]): ::[Prefix, ::[Suffix, HNil]]

    Permalink
  72. def reverse_splitRight[U](implicit split: ReverseSplitRight[L, U]): (Prefix, Suffix)

    Permalink

    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.

  73. def reverse_splitRightP[U](implicit split: ReverseSplitRight[L, U]): ::[Prefix, ::[Suffix, HNil]]

    Permalink
  74. def rotateLeft(n: Nat)(implicit rotateLeft: RotateLeft[L, N]): Out

    Permalink

    Rotate this 'HList' left by N

  75. def rotateLeft[N <: Nat](implicit rotateLeft: RotateLeft[L, N]): Out

    Permalink

    Rotate this 'HList' left by N.

    Rotate this 'HList' left by N. An explicit type argument must be provided.

  76. def rotateRight(n: Nat)(implicit rotateRight: RotateRight[L, N]): Out

    Permalink

    Rotate this 'HList' right by N

  77. def rotateRight[N <: Nat](implicit rotateRight: RotateRight[L, N]): Out

    Permalink

    Rotate this 'HList' right by N.

    Rotate this 'HList' right by N. An explicit type argument must be provided.

  78. def runtimeLength: Int

    Permalink

    Compute the length of this HList as a runtime Int value.

  79. def runtimeList: List[Any]

    Permalink

    Convert this HList to a List[Any].

  80. def scanLeft[A, P <: Poly](z: A)(op: Poly)(implicit scanL: LeftScanner[L, A, op.type]): Out

    Permalink

    Computes a left scan over this HList using the polymorphic binary combining operator op.

    Computes a left scan over this HList using the polymorphic binary combining operator op. Available only if there is evidence op can consume/produce all the results of the appropriate types.

  81. def scanRight[A, P <: Poly](z: A)(op: Poly)(implicit scanR: RightScanner[L, A, op.type]): Out

    Permalink

    Computes a right scan over this HList using the polymorphic binary combining operator op.

    Computes a right scan over this HList using the polymorphic binary combining operator op. Available only if there is evidence op can consume/produce all the results of the appropriate types.

  82. def select[U](implicit selector: Selector[L, U]): U

    Permalink

    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.

  83. def selectMany: SelectManyAux[L]

    Permalink
  84. def selectManyType[Ids <: HList](implicit sel: SelectMany[L, Ids]): Out

    Permalink
  85. def selectRange(a: Nat, b: Nat)(implicit sel: SelectRange[L, N, N]): Out

    Permalink
  86. def selectRange[A <: Nat, B <: Nat](implicit sel: SelectRange[L, A, B]): Out

    Permalink

    Returns the elements of this HList specified by the range of ids in [A,B[ Available only if there is evidence that this HList contains all elements in that range

  87. def slice(from: Nat, until: Nat)(implicit slice: Slice[N, N, L]): Out

    Permalink

    Slices beginning at index from and afterwards, up until index until

  88. def split(n: Nat)(implicit split: Split[L, N]): (Prefix, Suffix)

    Permalink

    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.

  89. def split[N <: Nat](implicit split: Split[L, N]): (Prefix, Suffix)

    Permalink

    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.

  90. def splitLeft[U](implicit split: SplitLeft[L, U]): (Prefix, Suffix)

    Permalink

    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.

  91. def splitLeftP[U](implicit split: SplitLeft[L, U]): ::[Prefix, ::[Suffix, HNil]]

    Permalink
  92. def splitP(n: Nat)(implicit split: Split[L, N]): ::[Prefix, ::[Suffix, HNil]]

    Permalink
  93. def splitP[N <: Nat](implicit split: Split[L, N]): ::[Prefix, ::[Suffix, HNil]]

    Permalink
  94. def splitRight[U](implicit split: SplitRight[L, U]): (Prefix, Suffix)

    Permalink

    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.

  95. def splitRightP[U](implicit split: SplitRight[L, U]): ::[Prefix, ::[Suffix, HNil]]

    Permalink
  96. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  97. def tail(implicit c: IsHCons[L]): T

    Permalink

    Returns the tail of this HList.

    Returns the tail of this HList. Available only if there is evidence that this HList is composite.

  98. def take(n: Nat)(implicit take: Take[L, N]): Out

    Permalink

    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.

  99. def take[N <: Nat](implicit take: Take[L, N]): Out

    Permalink

    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.

  100. def to[M[_]](implicit ts: ToTraversable[L, M]): Out

    Permalink

    Converts this HList to a M of elements typed as the least upper bound of the types of the elements of this HList.

  101. def toArray[Lub](implicit toTraversableAux: Aux[L, Array, Lub]): (toTraversableAux)#Out

    Permalink

    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.

  102. def toCoproduct[M[_] <: Traversable[_]](implicit toCoproductTraversable: ToCoproductTraversable[L, M]): Out

    Permalink

    Converts this HList to a M of elements embedded in a minimal Coproduct encompassing the types of every elements of this HList.

    Converts this HList to a M of elements embedded in a minimal Coproduct encompassing the types of every elements of this HList.

    For example :

    (1 :: "qux" :: 42 :: "bar" :: HNil).toCoproduct[Vector]

    Would return a Vector[Int :+: String :+: CNil]

    Note that the M container must extend Traversable, which means that Array cannot be used.

  103. def toList[Lub](implicit toTraversableAux: Aux[L, List, Lub]): (toTraversableAux)#Out

    Permalink

    Converts this HList to an ordinary List of elements typed as the least upper bound of the types of the elements of this HList.

  104. def toSized[M[_]](implicit ts: ToSized[L, M]): Out

    Permalink

    Converts this HList to a - sized - M of elements typed as the least upper bound of the types of the elements of this HList.

  105. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  106. def transpose(implicit transpose: Transposer[L]): Out

    Permalink

    Transposes this HList.

  107. def tupled(implicit tupler: Tupler[L]): ops.hlist.Tupler.Out

    Permalink

    Converts this HList to a correspondingly typed tuple.

  108. def unify(implicit unifier: Unifier[L]): Out

    Permalink

    Returns an HList typed as a repetition of the least upper bound of the types of the elements of this HList.

  109. def unifySubtypes[B](implicit subtypeUnifier: SubtypeUnifier[L, B]): Out

    Permalink

    Returns an HList with all elements that are subtypes of B typed as B.

  110. def union[M <: HList](s: M)(implicit union: Union[L, M]): Out

    Permalink

    Returns the union between this HList and another HList.

    Returns the union between this HList and another HList. 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.

  111. def unzip(implicit unzipper: Unzip[L]): ops.hlist.Unzip.Out

    Permalink

    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.

  112. def updateAtWith[V](n: NatWith[[n]At[L, n]])(f: (ops.hlist.At.Out) ⇒ V)(implicit upd: ModifierAt[L, N, ops.hlist.At.Out, V]): ops.hlist.ModifierAt.Out

    Permalink

    Replaces the Nth element of this HList with the result of calling the supplied function on it.

    Replaces the Nth element of this HList with the result of calling the supplied function on it. Available only if there is evidence that this HList has N elements.

  113. def updateWith[U, V, Out <: HList](f: (U) ⇒ V)(implicit replacer: Aux[L, U, V, (U, Out)]): Out

    Permalink

    Replaces the first element of type U of this HList with the result of its transformation to a V via the supplied function.

    Replaces the first element of type U of this HList with the result of its transformation to a V via the supplied function. Available only if there is evidence that this HList has an element of type U.

  114. def updatedAt[U, V, Out <: HList](n: Nat, u: U)(implicit replacer: Aux[L, N, U, (V, Out)]): Out

    Permalink

    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.

  115. def updatedAt[N <: Nat]: UpdatedAtAux[N]

    Permalink

    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.

  116. def updatedElem[U, Out <: HList](u: U)(implicit replacer: Aux[L, U, U, (U, Out)]): Out

    Permalink

    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.

  117. def updatedType[U]: UpdatedTypeAux[U]

    Permalink

    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.

  118. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  119. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  120. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  121. def zip(implicit zipper: Zip[L]): Out

    Permalink

    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.

  122. def zip[R <: HList](r: R)(implicit zipper: Zip[::[L, ::[R, HNil]]]): Out

    Permalink

    Zips this HList with its argument HList returning an HList of pairs.

  123. def zipApply[A <: HList](a: A)(implicit zipper: ZipApply[L, A]): Out

    Permalink

    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.

  124. def zipConst[C](c: C)(implicit zipConst: ZipConst[C, L]): Out

    Permalink

    Zips this HList with a constant, resulting in an HList of tuples of the form ({element from this HList}, {supplied constant})

  125. def zipOne[T <: HList](t: T)(implicit zipOne: ZipOne[L, T]): Out

    Permalink

    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.

  126. def zipWith[R <: HList, P <: Poly2](r: R)(p: P)(implicit zipWith: ZipWith[L, R, P]): Out

    Permalink

    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.

  127. def zipWithIndex(implicit zipWithIndex: ZipWithIndex[L]): Out

    Permalink

    Zips this HList with its element indices, resulting in a 'HList' of tuples of the form ({element from input tuple}, {element index})

  128. def zipWithKeys[K <: HList](implicit withKeys: ZipWithKeys[K, L]): Out

    Permalink

    Converts this HList of values into a record with given keys.

    Converts this HList of values into a record with given keys. A type argument must be provided.

  129. def zipWithKeys[K <: HList](keys: K)(implicit withKeys: ZipWithKeys[K, L]): Out

    Permalink

    Converts this HList of values into a record with the provided keys.

Deprecated Value Members

  1. def unzipped(implicit unzipper: Unzip[L]): ops.hlist.Unzip.Out

    Permalink

    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.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.0.0) Use unzip instead

  2. def zipped(implicit zipper: Zip[L]): Out

    Permalink

    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.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.0.0) Use zip instead

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped