shapeless

package shapeless

Visibility
  1. Public
  2. All

Type Members

  1. class ->[T, R] extends Poly1

    Base class for lifting a Function1 to a Poly1

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

    Non-empty HList element type.

  3. class >->[T, R] extends LowPriorityLiftFunction1

    Base class for lifting a Function1 to a Poly1 over the universal domain, yielding an HList with the result as its only element if the argument is in the original functions domain, HNil otherwise.

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

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

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

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

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

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

    Type-specific case of a polymorphic value.

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

    Type-specific case of a polymorphic unary function.

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

    Type-specific case of a polymorphic binary function.

  10. trait Comapped[L <: HList] extends AnyRef

    Type class witnessing that the result of stripping type constructor F off each element of HList L is Out.

  11. trait ComappedAux[L <: HList, F[_], Out <: HList] extends AnyRef

  12. class Compose1[F <: Poly, G <: Poly] extends Poly

    Represents the composition of two unary polymorphic function values

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

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

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

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

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

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

  17. trait Div[A <: Nat, B <: Nat] extends AnyRef

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

  18. trait DivAux[A <: Nat, B <: Nat, C <: Nat] extends AnyRef

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

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

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

  21. trait Field[T] extends FieldAux

    Field with values of type T

  22. trait FieldAux extends AnyRef

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

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

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

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

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

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

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

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

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

  29. trait FnHLister[F] extends AnyRef

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

  30. trait FnHListerAux[F, Out] extends AnyRef

  31. trait FnHListerAuxInstances extends AnyRef

  32. trait FnUnHLister[F] extends AnyRef

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

  33. trait FnUnHListerAux[F, Out] extends AnyRef

  34. trait FnUnHListerAuxInstances extends AnyRef

  35. trait FromTraversable[Out <: HList] extends AnyRef

    Type class supporting type safe conversion of Traversables to HLists.

  36. sealed trait HList extends AnyRef

    HList ADT base trait.

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

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

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

    Carrier for HList operations.

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

    Type class supporting conversion of Tuples to HLists.

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

  42. trait HListerAuxInstances extends AnyRef

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

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

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

  45. trait HNil extends HList

    Empty HList element type.

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

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

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

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

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

  49. trait Iso[T, U] extends AnyRef

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

  50. 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.

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

    Type class witnessing that A is less than B.

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

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

  53. trait LUBConstraint[L <: HList, B] extends AnyRef

    Type class witnessing that every element of L is a subtype of B.

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

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

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

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

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

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

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

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

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

    Type class supporting computing the type-level Nat corresponding to the length of this HList.

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

  61. trait Lens[C, F] extends AnyRef

  62. class Lift1[P <: Poly] extends LowPriorityLift1

    Base class for lifting a Poly1 to a Poly1 over the universal domain, yielding an HList with the result as it's only element if the argument is in the original functions domain, HNil otherwise.

  63. trait LowPriorityComappedAux extends AnyRef

  64. trait LowPriorityIso extends AnyRef

  65. trait LowPriorityLift1 extends Poly1

  66. trait LowPriorityLiftFunction1 extends Poly1

  67. trait LowPriorityPrepend extends AnyRef

  68. trait LowPriorityReversePrepend extends AnyRef

  69. trait LowPriorityReverseSplitLeft0 extends AnyRef

  70. trait LowPriorityReverseSplitRight0 extends AnyRef

  71. trait LowPrioritySized extends AnyRef

  72. trait LowPrioritySplitLeft0 extends AnyRef

  73. trait LowPrioritySplitRight0 extends AnyRef

  74. trait LowPrioritySybClass extends AnyRef

    An implementation of [http://research.

  75. trait LowPriorityTypeable extends AnyRef

  76. trait LowPriorityUpdaterAux extends AnyRef

  77. 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.

  78. 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.

  79. trait Mapped[L <: HList, F[_]] extends AnyRef

    Type class witnessing that the result of wrapping each element of HList L in type constructor F is Out.

  80. trait MappedAux[L <: HList, F[_], Out <: HList] extends AnyRef

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

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

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

  83. trait Mod[A <: Nat, B <: Nat] extends AnyRef

    Typeclass witnessing that Out is A mod B.

  84. trait ModAux[A <: Nat, B <: Nat, C <: Nat] extends AnyRef

  85. trait Nat extends AnyRef

    Base trait for type level natural numbers.

  86. trait NatTRel[L1 <: HList, F1[_], L2 <: HList, F2[_]] extends AnyRef

    Type class witnessing that HLists L1 and L2 have elements of the form F1[Ln] and F2[Ln] respectively for all indices n.

  87. trait Nats extends AnyRef

  88. trait Poly extends AnyRef

    Base trait for polymorphic values.

  89. trait Poly0 extends Poly

  90. trait Poly1 extends Poly

  91. trait Poly2 extends Poly

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

    Type class witnessing that B is the predecessor of A.

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

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

    Type class supporting prepending to this HList.

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

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

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

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

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

    Type class witnessing the arity of a Product

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

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

  101. trait Pullback1[R0] extends Poly

  102. trait Pullback2[R0] extends Poly

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

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

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

    Type class supporting removal of an element from this HList.

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

    Type class supporting removal of a sublist from this HList.

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

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

  108. 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.

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

  110. 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.

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

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

    Type class supporting reversing this HList.

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

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

    Type class supporting reverse prepending to this HList.

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

  116. 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.

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

  118. 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.

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

  120. 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

    Carrier for Sized operations.

  130. 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.

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

  132. 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.

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

  134. 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.

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

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

    Encoding of successor.

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

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

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

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

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

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

  141. trait ToArray[-L <: HList, Lub] extends AnyRef

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

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

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

  143. 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.

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

    Type class supporting transposing this HList.

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

  146. trait TupleTypeableInstances extends AnyRef

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

    Type class supporting conversion of this HList to a tuple.

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

  149. trait TuplerAuxInstances extends AnyRef

  150. trait Typeable[U] extends AnyRef

    Type class supporting type safe cast.

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

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

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

    Type class supporting unification of this HList.

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

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

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

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

    Type class supporting record update and extension.

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

  157. 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.

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

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

  159. 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.

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

  161. 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.

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

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

    Generic Zipper for any type with an Iso with an HList.

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

    Base trait for natural transformations.

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

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

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

Value Members

  1. object At

  2. object AtAux

  3. object BasisConstraint

  4. object Case0Aux

  5. object Case1Aux

  6. object Case2Aux

  7. object Comapped

  8. object ComappedAux extends LowPriorityComappedAux

  9. object Compose1

  10. object ConstMapper

  11. object ConstMapperAux

  12. object Diff

  13. object DiffAux

  14. object Div

  15. object DivAux

  16. object Drop

  17. object DropAux

  18. object Filter

  19. object FilterAux

  20. object FilterNot

  21. object FilterNotAux

  22. object FlatMapper

  23. object FlatMapperAux

  24. object FnHLister

    FnHLister type class instances.

  25. object FnHListerAux extends FnHListerAuxInstances

  26. object FnUnHLister

    FnUnHLister type class instances.

  27. object FnUnHListerAux extends FnUnHListerAuxInstances

  28. object FromTraversable

    FromTraversable type class instances.

  29. object Functions

    Conversions between ordinary functions and HList functions.

  30. object HList

  31. object HListNthLens

  32. object HListNthLensAux

  33. object HLister

    HLister type class instances.

  34. object HListerAux extends HListerAuxInstances

  35. object HMap

  36. object HNil extends HNil with Product with Serializable

    Empty HList value.

  37. object Init

  38. object InitAux

  39. object IsHCons

  40. object Iso extends LowPriorityIso

  41. object KeyConstraint

  42. object LT

  43. object LTEq

  44. object LUBConstraint

  45. object Last

  46. object LastAux

  47. object LeftFolder

  48. object LeftFolderAux

  49. object LeftReducer

  50. object Length

  51. object LengthAux

  52. object Lens

  53. object Lift

  54. object Lub

  55. object MapFolder

  56. object Mapped

  57. object MappedAux

  58. object Mapper

  59. object MapperAux

  60. object Mod

  61. object ModAux

  62. object Nat extends Nats

    Type level encoding of the natural numbers.

  63. object NatTRel

  64. object Poly

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

  65. object Pred

  66. object PredAux

  67. object Prepend extends LowPriorityPrepend

  68. object PrependAux

  69. object Prod

  70. object ProdAux

  71. object ProductArity

    ProductArity type class instances.

  72. object ProductArityAux

  73. object Record

  74. object Remove

  75. object RemoveAll

  76. object RemoveAllAux

  77. object RemoveAux

  78. object ReplaceAt

  79. object ReplaceAtAux

  80. object Replacer

  81. object ReplacerAux

  82. object Reverse

  83. object Reverse0

  84. object ReversePrepend extends LowPriorityReversePrepend

  85. object ReversePrependAux

  86. object ReverseSplit

  87. object ReverseSplit0

  88. object ReverseSplitLeft

  89. object ReverseSplitLeft0 extends LowPriorityReverseSplitLeft0

  90. object ReverseSplitRight

  91. object ReverseSplitRight0 extends LowPriorityReverseSplitRight0

  92. object RightFolder

  93. object RightFolderAux

  94. object RightReducer

  95. object RightReducerAux

  96. object Selector

  97. object Sized extends LowPrioritySized

  98. object Split

  99. object Split0

  100. object SplitLeft

  101. object SplitLeft0 extends LowPrioritySplitLeft0

  102. object SplitRight

  103. object SplitRight0 extends LowPrioritySplitRight0

  104. object Sum

  105. object SumAux

  106. object SybClass extends LowPrioritySybClass

  107. object Take

  108. object TakeAux

  109. object ToArray

  110. object ToInt

  111. object ToList

  112. object Transposer

  113. object TransposerAux

  114. object Traversables

    Conversions between Traversables and HLists.

  115. object Tupler

  116. object TuplerAux extends TuplerAuxInstances

  117. object Tuples

    Conversions between Tuples and HLists.

  118. object TypeOperators

  119. object Typeable extends TupleTypeableInstances with LowPriorityTypeable

    Provides instances of Typeable.

  120. object UnaryTCConstraint

  121. object Unifier

  122. object UnifierAux

  123. object Unzip

  124. object Updater

  125. object UpdaterAux extends LowPriorityUpdaterAux

  126. object ValueConstraint

  127. object Zip

  128. object ZipApply

  129. object ZipApplyAux

  130. object ZipOne

  131. object ZipOneAux

  132. object Zipper extends Serializable

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

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

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

    Polymorphic function which opens an Option.

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

    Polymorphic function returning the head of a List.

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

    Polymorphic identity function.

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

    Polymorphic function testing whether or not an Option is defined.

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

    Polymorphic function creating singleton Lists.

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

    Polymorphic function which injects a value into an Option.

  140. object plus extends Poly2

    Polymorphic addition with type specific cases.

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

    Polymorphic singleton function.

  142. object zero extends Poly0

    Polymorphic zero with type specific cases.

  143. object ~>

  144. object ~>>

  145. object ~?>

Ungrouped