shapeless

package shapeless

Visibility
  1. Public
  2. All

Type Members

  1. final case class ::[+H, +T <: HList](head: H, tail: T) extends HList with Product with Serializable

    Non-empty HList element type.

  2. trait At[L <: HList, N <: Nat] extends AnyRef

    Type class supporting access to the nth element of this HList.

  3. trait AtAux[L <: HList, N <: Nat, Out] extends AnyRef

  4. trait BasisConstraint[L <: HList, M <: HList] extends AnyRef

    Type class witnessing that every element of L is an element of M.

  5. abstract class Case0Aux[-P, T] extends AnyRef

    Type-specific case of a polymorphic value.

  6. abstract class Case1Aux[-P, T] extends AnyRef

    Type-specific case of a polymorphic unary function.

  7. abstract class Case2Aux[-P, T, U] extends AnyRef

    Type-specific case of a polymorphic binary function.

  8. trait ConstMapper[C, L <: HList] extends AnyRef

    Type class supporting mapping a constant valued function over this HList.

  9. trait ConstMapperAux[C, L <: HList, Out <: HList] extends AnyRef

  10. trait Diff[A <: Nat, B <: Nat] extends AnyRef

    Type class witnessing that C is the difference of A and B.

  11. trait DiffAux[A <: Nat, B <: Nat, C <: Nat] extends AnyRef

  12. trait Drop[L <: HList, N <: Nat] extends AnyRef

    Type class supporting removal of the first n elements of this HList.

  13. trait DropAux[L <: HList, N <: Nat, Out <: HList] extends AnyRef

  14. trait Field[T] extends FieldAux

    Field with values of type T

  15. trait FieldAux extends AnyRef

  16. trait Filter[L <: HList, U] extends AnyRef

    Type class supporting access to the all elements of this HList of type U.

  17. trait FilterAux[L <: HList, U, Out <: HList] extends AnyRef

  18. trait FilterNot[L <: HList, U] extends AnyRef

    Type class supporting access to the all elements of this HList of type different than U.

  19. trait FilterNotAux[L <: HList, U, Out <: HList] extends AnyRef

  20. trait FlatMapper[HF, In <: HList] extends AnyRef

    Type class supporting flatmapping a higher ranked function over this HList.

  21. trait FlatMapperAux[HF, In <: HList, Out <: HList] extends AnyRef

  22. trait FnHLister[F] extends AnyRef

    Type class supporting conversion of arbitrary functions to functions of a single HList argument.

  23. trait FnHListerAux[F, Out] extends AnyRef

  24. trait FnHListerAuxInstances extends AnyRef

  25. trait FnUnHLister[F] extends AnyRef

    Type class supporting conversion of functions of a single HList argument to ordinary functions.

  26. trait FnUnHListerAux[F, Out] extends AnyRef

  27. trait FnUnHListerAuxInstances extends AnyRef

  28. trait FromTraversable[T, Out <: HList] extends AnyRef

    Type class supporting type safe conversion of Traversables to HLists.

  29. sealed trait HList extends AnyRef

    HList ADT base trait.

  30. class HListIso[T, L <: HList] extends AnyRef

    Representation of an isomorphism between a type (typically a case class) and an HList.

  31. trait HListNthLens[L <: HList, N <: Nat] extends AnyRef

  32. trait HListNthLensAux[L <: HList, N <: Nat, E] extends Lens[L, E]

  33. final class HListOps[L <: HList] extends AnyRef

    Carrier for HList operations.

  34. trait HLister[-T <: Product] extends AnyRef

    Type class supporting conversion of Tuples to HLists.

  35. trait HListerAux[-T <: Product, Out <: HList] extends AnyRef

  36. trait HListerAuxInstances extends AnyRef

  37. class HMap[R[_, _]] extends Poly

    Heterogenous map with type-level key/value associations that are fixed by an arbitrary relation R.

  38. class HMapBuilder[R[_, _]] extends AnyRef

  39. trait HNil extends HList

    Empty HList element type.

  40. trait Init[L <: HList] extends AnyRef

    Type class supporting access to all but the last element of this HList.

  41. trait InitAux[L <: HList, Out <: HList] extends AnyRef

  42. trait IsHCons[L <: HList] extends AnyRef

    Type class witnessing that this HList is composite and providing access to head and tail.

  43. trait KeyConstraint[L <: HList, M <: HList] extends AnyRef

    Type class witnessing that every element of L is of the form FieldEntry[F] where F is an element of M.

  44. trait LT[A <: Nat, B <: Nat] extends AnyRef

    Type class witnessing that A is less than B.

  45. trait LTEq[A <: Nat, B <: Nat] extends AnyRef

    Type class witnessing that A is less than or equal to B.

  46. trait Last[L <: HList] extends AnyRef

    Type class supporting access to the last element of this HList.

  47. trait LastAux[L <: HList, Out] extends AnyRef

  48. trait LeftFolder[L <: HList, In, HF] extends AnyRef

    Type class supporting left-folding a polymorphic binary function over this HList.

  49. trait LeftFolderAux[L <: HList, In, HF, Out] extends AnyRef

  50. trait LeftReducer[L <: HList, HF] extends AnyRef

    Type class supporting left-reducing a polymorphic binary function over this HList.

  51. trait Length[-L <: HList] extends AnyRef

  52. trait LengthAux[-L <: HList, N <: Nat] extends AnyRef

  53. trait Lens[C, F] extends AnyRef

  54. trait LowPriorityReverseSplitLeft0 extends AnyRef

  55. trait LowPriorityReverseSplitRight0 extends AnyRef

  56. trait LowPrioritySized extends AnyRef

  57. trait LowPrioritySplitLeft0 extends AnyRef

  58. trait LowPrioritySplitRight0 extends AnyRef

  59. trait LowPriorityTypeable extends AnyRef

  60. trait LowPriorityUpdaterAux extends AnyRef

  61. trait Lub[-A, -B, +Out] extends AnyRef

    Type class witnessing the least upper bound of a pair of types and providing conversions from each to their common supertype.

  62. trait MapFolder[L <: HList, R, HF] extends AnyRef

    Type class supporting mapping a polymorphic function over this HList and then folding the result using a monomorphic function value.

  63. trait Mapper[HF, In <: HList] extends AnyRef

    Type class supporting mapping a higher ranked function over this HList.

  64. trait MapperAux[HF, In <: HList, Out <: HList] extends AnyRef

  65. trait Nat extends AnyRef

    Base trait for type level natural numbers.

  66. trait Nats extends AnyRef

  67. trait Poly extends AnyRef

    Base trait for polymorphic values.

  68. trait Poly0 extends Poly

  69. trait Poly1 extends Poly

  70. trait Poly2 extends Poly

  71. trait Pred[A <: Nat] extends AnyRef

    Type class witnessing that B is the predecessor of A.

  72. trait PredAux[A <: Nat, B <: Nat] extends AnyRef

  73. trait Prepend[P <: HList, S <: HList] extends AnyRef

    Type class supporting prepending to this HList.

  74. trait PrependAux[P <: HList, S <: HList, Out <: HList] extends AnyRef

  75. trait Prod[A <: Nat, B <: Nat] extends AnyRef

    Type class witnessing that C is the product of A and B.

  76. trait ProdAux[A <: Nat, B <: Nat, C <: Nat] extends AnyRef

  77. trait ProductArity[P <: Product] extends AnyRef

    Type class witnessing the arity of a Product

  78. trait ProductArityAux[P <: Product, N <: Nat] extends AnyRef

  79. trait ProductLens[C, P <: Product] extends Lens[C, P]

  80. trait Pullback1[R0] extends Poly

  81. trait Pullback2[R0] extends Poly

  82. final class RecordOps[L <: HList] extends AnyRef

    Record operations on HList's with field-like elements.

  83. trait Remove[E, L <: HList] extends AnyRef

    Type class supporting removal of an element from this HList.

  84. trait RemoveAll[SL <: HList, L <: HList] extends AnyRef

    Type class supporting removal of a sublist from this HList.

  85. trait RemoveAllAux[SL <: HList, L <: HList, Rem <: HList] extends AnyRef

  86. trait RemoveAux[L <: HList, E, Rem <: HList] extends AnyRef

  87. trait ReplaceAt[L <: HList, N <: Nat, V] extends AnyRef

    Type class supporting replacement of the Nth element of this HList with an element of type V.

  88. trait ReplaceAtAux[L <: HList, N <: Nat, U, V, Out <: HList] extends AnyRef

  89. trait Replacer[L <: HList, U, V] extends AnyRef

    Type class supporting replacement of the first element of type U from this HList with an element of type V.

  90. trait ReplacerAux[L <: HList, U, V, Out <: HList] extends AnyRef

  91. trait Reverse[L <: HList] extends AnyRef

    Type class supporting reversing this HList.

  92. trait Reverse0[Acc <: HList, L <: HList, Out <: HList] extends AnyRef

  93. trait ReversePrepend[P <: HList, S <: HList] extends AnyRef

    Type class supporting reverse prepending to this HList.

  94. trait ReversePrependAux[P <: HList, S <: HList, Out <: HList] extends AnyRef

  95. trait ReverseSplit[L <: HList, N <: Nat] extends AnyRef

    Type class supporting splitting this HList at the nth element returning the reverse prefix and suffix as a pair.

  96. trait ReverseSplit0[AccP <: HList, AccS <: HList, N <: Nat, P, S] extends AnyRef

  97. trait ReverseSplitLeft[L <: HList, U] extends AnyRef

    Type class supporting splitting this HList at the first occurence of an element of type U returning the reverse prefix and suffix as a pair.

  98. trait ReverseSplitLeft0[AccP <: HList, AccS <: HList, U, P, S] extends AnyRef

  99. trait ReverseSplitRight[L <: HList, U] extends AnyRef

    Type class supporting splitting this HList at the last occurence of an element of type U returning the reverse prefix and suffix as a pair.

  100. trait ReverseSplitRight0[Rev <: HList, AccP <: HList, AccS <: HList, U, P, S] extends AnyRef

  101. trait RightFolder[L <: HList, In, HF] extends AnyRef

    Type class supporting right-folding a polymorphic binary function over this HList.

  102. trait RightFolderAux[L <: HList, In, HF, Out] extends AnyRef

  103. trait RightReducer[L <: HList, HF] extends AnyRef

    Type class supporting right-reducing a polymorphic binary function over this HList.

  104. trait RightReducerAux[L <: HList, HF, Out] extends AnyRef

  105. trait Selector[L <: HList, U] extends AnyRef

    Type class supporting access to the first element of this HList of type U.

  106. abstract class Sized[+Repr, L <: Nat] extends AnyRef

    Wrapper for a collection type witnessing that it has the statically specified length.

  107. class SizedBuilder[CC[_]] extends AnyRef

  108. class SizedOps[A, Repr, L <: Nat] extends AnyRef

    Carrier for Sized operations.

  109. trait Split[L <: HList, N <: Nat] extends AnyRef

    Type class supporting splitting this HList at the nth element returning the prefix and suffix as a pair.

  110. trait Split0[AccP <: HList, AccS <: HList, N <: Nat, P <: HList, S <: HList] extends AnyRef

  111. trait SplitLeft[L <: HList, U] extends AnyRef

    Type class supporting splitting this HList at the first occurence of an element of type U returning the prefix and suffix as a pair.

  112. trait SplitLeft0[AccP <: HList, AccS <: HList, U, P <: HList, S <: HList] extends AnyRef

  113. trait SplitRight[L <: HList, U] extends AnyRef

    Type class supporting splitting this HList at the last occurence of an element of type U returning the prefix and suffix as a pair.

  114. trait SplitRight0[Rev <: HList, AccP <: HList, AccS <: HList, U, P <: HList, S <: HList] extends AnyRef

  115. case class Succ[P <: Nat]() extends Nat with Product with Serializable

    Encoding of successor.

  116. trait Sum[A <: Nat, B <: Nat] extends AnyRef

    Type class witnessing that C is the sum of A and B.

  117. trait SumAux[A <: Nat, B <: Nat, C <: Nat] extends AnyRef

  118. trait Take[L <: HList, N <: Nat] extends AnyRef

    Type class supporting retrieval of the first n elements of this HList.

  119. trait TakeAux[L <: HList, N <: Nat, Out <: HList] extends AnyRef

  120. trait ToInt[N <: Nat] extends AnyRef

    Type class supporting conversion of type-level Nats to value level Ints.

  121. trait ToList[L <: HList, +Lub] extends AnyRef

    Type class supporting conversion of this HList to an ordinary List with elements typed as the least upper bound of the types of the elements of this HList.

  122. trait Transposer[L <: HList] extends AnyRef

    Type class supporting transposing this HList.

  123. trait TransposerAux[L <: HList, Out <: HList] extends AnyRef

  124. trait TupleTypeableInstances extends AnyRef

  125. trait Tupler[L <: HList] extends AnyRef

    Type class supporting conversion of this HList to a tuple.

  126. trait TuplerAux[L <: HList, Out <: Product] extends AnyRef

  127. trait TuplerAuxInstances extends AnyRef

  128. trait Typeable[U] extends AnyRef

    Type class supporting type safe cast.

  129. trait UnaryTCConstraint[L <: HList, TC[_]] extends AnyRef

    Type class witnessing that every element of L has TC as its outer type constructor.

  130. trait Unifier[L <: HList] extends AnyRef

    Type class supporting unification of this HList.

  131. trait UnifierAux[L <: HList, Out <: HList] extends AnyRef

  132. trait Unzip[L <: HList] extends AnyRef

    Type class supporting unzipping this HList of tuples returning a tuple of HLists.

  133. trait Updater[L <: HList, F <: FieldAux, V] extends AnyRef

    Type class supporting record update and extension.

  134. trait UpdaterAux[L <: HList, F <: FieldAux, V, Out <: HList] extends AnyRef

  135. trait ValueConstraint[L <: HList, M <: HList] extends AnyRef

    Type class witnessing that every element of L is of the form FieldEntry[F] where F#valueType is an element of M.

  136. trait Zip[L <: HList] extends AnyRef

    Type class supporting zipping this HList of HLists returning an HList of tuples.

  137. trait ZipApply[FL <: HList, AL <: HList] extends AnyRef

    Type class supporting zipping this this HList of monomorphic function values with its argument HList of correspondingly typed function arguments returning the result of each application as an HList.

  138. trait ZipApplyAux[FL <: HList, AL <: HList, Out <: HList] extends AnyRef

  139. trait ZipOne[H <: HList, T <: HList] extends AnyRef

    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.

  140. trait ZipOneAux[H <: HList, T <: HList, Out <: HList] extends AnyRef

  141. case class Zipper[L <: HList, R <: HList](prefix: L, suffix: R) extends Product with Serializable

    Zipper for an HList.

  142. trait ~>[F[_], G[_]] extends Poly1

    Base trait for natural transformations.

  143. trait ~>>[F[_], R] extends Pullback1[R]

  144. class ~?>[K[_], V[_]] extends AnyRef

    Type class witnessing the existence of a natural transformation between K[_] and V[_]

Value Members

  1. object At extends AnyRef

  2. object AtAux extends AnyRef

  3. object BasisConstraint extends AnyRef

  4. object Case0Aux extends AnyRef

  5. object Case1Aux extends AnyRef

  6. object Case2Aux extends AnyRef

  7. object ConstMapper extends AnyRef

  8. object ConstMapperAux extends AnyRef

  9. object Diff extends AnyRef

  10. object DiffAux extends AnyRef

  11. object Drop extends AnyRef

  12. object DropAux extends AnyRef

  13. object Filter extends AnyRef

  14. object FilterAux extends AnyRef

  15. object FilterNot extends AnyRef

  16. object FilterNotAux extends AnyRef

  17. object FlatMapper extends AnyRef

  18. object FlatMapperAux extends AnyRef

  19. object FnHLister extends AnyRef

    FnHLister type class instances.

  20. object FnHListerAux extends FnHListerAuxInstances

  21. object FnUnHLister extends AnyRef

    FnUnHLister type class instances.

  22. object FnUnHListerAux extends FnUnHListerAuxInstances

  23. object FromTraversable extends AnyRef

    FromTraversable type class instances.

  24. object Functions extends AnyRef

    Conversions between ordinary functions and HList functions.

  25. object HList extends AnyRef

  26. object HListIso extends AnyRef

  27. object HListNthLens extends AnyRef

  28. object HListNthLensAux extends AnyRef

  29. object HLister extends AnyRef

    HLister type class instances.

  30. object HListerAux extends HListerAuxInstances

  31. object HMap extends AnyRef

  32. object HNil extends HNil with Product with Serializable

    Empty HList value.

  33. object Init extends AnyRef

  34. object InitAux extends AnyRef

  35. object IsHCons extends AnyRef

  36. object KeyConstraint extends AnyRef

  37. object LT extends AnyRef

  38. object LTEq extends AnyRef

  39. object Last extends AnyRef

  40. object LastAux extends AnyRef

  41. object LeftFolder extends AnyRef

  42. object LeftFolderAux extends AnyRef

  43. object LeftReducer extends AnyRef

  44. object Length extends AnyRef

  45. object LengthAux extends AnyRef

  46. object Lens extends AnyRef

  47. object Lift extends AnyRef

  48. object Lub extends AnyRef

  49. object MapFolder extends AnyRef

  50. object Mapper extends AnyRef

  51. object MapperAux extends AnyRef

  52. object Nat extends Nats

    Type level encoding of the natural numbers.

  53. object Poly extends AnyRef

    Provides implicit conversions from polymorphic function values to monomorphic function values, eg.

  54. object Pred extends AnyRef

  55. object PredAux extends AnyRef

  56. object Prepend extends AnyRef

  57. object PrependAux extends AnyRef

  58. object Prod extends AnyRef

  59. object ProdAux extends AnyRef

  60. object ProductArity extends AnyRef

    ProductArity type class instances.

  61. object ProductArityAux extends AnyRef

  62. object Record extends AnyRef

  63. object Remove extends AnyRef

  64. object RemoveAll extends AnyRef

  65. object RemoveAllAux extends AnyRef

  66. object RemoveAux extends AnyRef

  67. object ReplaceAt extends AnyRef

  68. object ReplaceAtAux extends AnyRef

  69. object Replacer extends AnyRef

  70. object ReplacerAux extends AnyRef

  71. object Reverse extends AnyRef

  72. object Reverse0 extends AnyRef

  73. object ReversePrepend extends AnyRef

  74. object ReversePrependAux extends AnyRef

  75. object ReverseSplit extends AnyRef

  76. object ReverseSplit0 extends AnyRef

  77. object ReverseSplitLeft extends AnyRef

  78. object ReverseSplitLeft0 extends LowPriorityReverseSplitLeft0

  79. object ReverseSplitRight extends AnyRef

  80. object ReverseSplitRight0 extends LowPriorityReverseSplitRight0

  81. object RightFolder extends AnyRef

  82. object RightFolderAux extends AnyRef

  83. object RightReducer extends AnyRef

  84. object RightReducerAux extends AnyRef

  85. object Selector extends AnyRef

  86. object Sized extends LowPrioritySized

  87. object Split extends AnyRef

  88. object Split0 extends AnyRef

  89. object SplitLeft extends AnyRef

  90. object SplitLeft0 extends LowPrioritySplitLeft0

  91. object SplitRight extends AnyRef

  92. object SplitRight0 extends LowPrioritySplitRight0

  93. object Sum extends AnyRef

  94. object SumAux extends AnyRef

  95. object SybClass extends AnyRef

    An implementation of [http://research.

  96. object Take extends AnyRef

  97. object TakeAux extends AnyRef

  98. object ToInt extends AnyRef

  99. object ToList extends AnyRef

  100. object Transposer extends AnyRef

  101. object TransposerAux extends AnyRef

  102. object Traversables extends AnyRef

    Conversions between Traversables and HLists.

  103. object Tupler extends AnyRef

  104. object TuplerAux extends TuplerAuxInstances

  105. object Tuples extends AnyRef

    Conversions between Tuples and HLists.

  106. object TypeOperators extends AnyRef

  107. object Typeable extends TupleTypeableInstances with LowPriorityTypeable

    Provides instances of Typeable.

  108. object UnaryTCConstraint extends AnyRef

  109. object Unifier extends AnyRef

  110. object UnifierAux extends AnyRef

  111. object Unzip extends AnyRef

  112. object Updater extends AnyRef

  113. object UpdaterAux extends LowPriorityUpdaterAux

  114. object ValueConstraint extends AnyRef

  115. object Zip extends AnyRef

  116. object ZipApply extends AnyRef

  117. object ZipApplyAux extends AnyRef

  118. object ZipOne extends AnyRef

  119. object ZipOneAux extends AnyRef

  120. object Zipper extends Serializable

  121. object choose extends ~>[Set, Option]

    Polymorphic function selecting an arbitrary element from a non-empty Set.

  122. object get extends ~>[Option, Id]

    Polymorphic function which opens an Option.

  123. object headOption extends ~>[List, Option]

    Polymorphic function returning the head of a List.

  124. object identity extends ~>[Id, Id]

    Polymorphic identity function.

  125. object isDefined extends ~>>[Option, Boolean]

    Polymorphic function testing whether or not an Option is defined.

  126. object list extends ~>[Id, List]

    Polymorphic function creating singleton Lists.

  127. object option extends ~>[Id, Option]

    Polymorphic function which injects a value into an Option.

  128. object plus extends Poly2

    Polymorphic addition with type specific cases.

  129. object singleton extends ~>[Id, Set]

    Polymorphic singleton function.

  130. object zero extends Poly0

    Polymorphic zero with type specific cases.

  131. object ~> extends AnyRef

  132. object ~?> extends AnyRef