shapeless

package shapeless

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. shapeless
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait :+:[+H, +T <: Coproduct] extends Coproduct

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

    Non-empty HList element type.

  3. trait <:!<[A, B] extends AnyRef

  4. trait =:!=[A, B] extends AnyRef

  5. class ApplyEverything[F <: Poly] 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. sealed trait CNil extends Coproduct

  8. trait CaseInst extends AnyRef

  9. trait Cases extends AnyRef

  10. type Const[C] = AnyRef { type λ[T] = C }

  11. sealed trait Coproduct extends AnyRef

  12. trait Data[F, T, R] extends AnyRef

    Type class representing one-level generic queries.

  13. trait DataT[F, T, U] extends AnyRef

    Type class representing one-level generic transformations.

  14. trait DepFn0 extends AnyRef

    Dependent nullary function type.

  15. trait DepFn1[T] extends AnyRef

    Dependent unary function type.

  16. trait DepFn2[T, U] extends AnyRef

    Dependent binary function type.

  17. final class DeriveConstructors extends AnyRef

  18. type Everything[F <: Poly, K <: Poly, T] = Case[EverythingAux[F, K], ::[T, HNil]]

    The SYB everything combinator

  19. class EverythingAux[F, K] extends Poly

  20. type Everywhere[F <: Poly, T] = Case[EverywhereAux[F], ::[T, HNil]]

    The SYB everywhere combinator

  21. class EverywhereAux[F] extends Poly

  22. trait FieldOf[V] extends AnyRef

    Field with values of type V.

  23. trait FieldPoly extends Poly1

    Polymorphic function that allows modifications on record fields while preserving the original key types.

  24. trait Generic[T] extends AnyRef

  25. sealed trait HList extends AnyRef

    HList ADT base trait.

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

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

  28. class HMap[R[_, _]] extends Poly1

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

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

  30. sealed trait HNil extends HList

    Empty HList element type.

  31. type Id[+T] = T

  32. final case class Inl[+H, +T <: Coproduct](head: H) extends :+:[H, T] with Product with Serializable

  33. final case class Inr[+H, +T <: Coproduct](tail: T) extends :+:[H, T] with Product with Serializable

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

    Type class witnessing that every element of L is of the form FieldType[K, V] where K is an element of M.

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

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

  36. trait LabelledGeneric[T] extends AnyRef

  37. trait LabelledProductTypeClass[C[_]] extends AnyRef

    A type class abstracting over the product operation of type classes over types of kind *, as well as deriving instances using an isomorphism.

  38. trait LabelledProductTypeClassCompanion[C[_]] extends AnyRef

  39. trait LabelledTypeClass[C[_]] extends LabelledProductTypeClass[C]

    A type class additinally abstracting over the coproduct operation of type classes over types of kind *.

  40. trait LabelledTypeClassCompanion[C[_]] extends AnyRef

  41. trait Lazy[T] extends AnyRef

  42. trait Lens[C, F] extends AnyRef

  43. trait LowPriorityData extends AnyRef

  44. trait LowPriorityDataT extends AnyRef

  45. trait LowPriorityEverythingAux extends AnyRef

  46. trait LowPriorityEverywhereAux extends AnyRef

  47. trait LowPriorityGeneric extends AnyRef

  48. trait LowPriorityLabelledGeneric extends AnyRef

  49. trait LowPrioritySized extends AnyRef

  50. trait LowPriorityTypeable extends AnyRef

  51. trait LowPriorityWitnessWith extends AnyRef

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

  53. trait Nat extends AnyRef

    Base trait for type level natural numbers.

  54. trait Nats extends AnyRef

  55. trait Poly extends PolyApply

    Base trait for polymorphic values.

  56. trait Poly0 extends Poly

    Trait simplifying the creation of polymorphic values.

  57. trait Poly1 extends Poly

  58. trait Poly10 extends Poly

  59. trait Poly11 extends Poly

  60. trait Poly12 extends Poly

  61. trait Poly13 extends Poly

  62. trait Poly14 extends Poly

  63. trait Poly15 extends Poly

  64. trait Poly16 extends Poly

  65. trait Poly17 extends Poly

  66. trait Poly18 extends Poly

  67. trait Poly19 extends Poly

  68. trait Poly2 extends Poly

  69. trait Poly20 extends Poly

  70. trait Poly21 extends Poly

  71. trait Poly22 extends Poly

  72. trait Poly3 extends Poly

  73. trait Poly4 extends Poly

  74. trait Poly5 extends Poly

  75. trait Poly6 extends Poly

  76. trait Poly7 extends Poly

  77. trait Poly8 extends Poly

  78. trait Poly9 extends Poly

  79. trait PolyApply extends AnyRef

  80. trait PolyInst extends AnyRef

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

  82. trait ProductTypeClass[C[_]] extends AnyRef

    A type class abstracting over the product operation of type classes over types of kind *, as well as deriving instances using an isomorphism.

  83. trait ProductTypeClassCompanion[C[_]] extends AnyRef

  84. trait SingletonTypeMacros[C <: Context] extends AnyRef

  85. final class Sized[+Repr, L <: Nat] extends AnyVal

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

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

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

    Carrier for Sized operations.

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

    Encoding of successor.

  89. trait TupleTypeableInstances extends AnyRef

  90. trait TypeCase[T] extends AnyRef

    Extractor for use of Typeable in pattern matching.

  91. trait TypeClass[C[_]] extends ProductTypeClass[C]

    A type class additinally abstracting over the coproduct operation of type classes over types of kind *.

  92. trait TypeClassCompanion[C[_]] extends AnyRef

  93. trait Typeable[U] extends AnyRef

    Type class supporting type safe cast.

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

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

  95. trait Unpack1[-P, F[_], T] extends AnyRef

    Type class witnessing that type P is equal to F[T] for some higher kinded type F[_] and type T.

  96. trait Unpack2[-P, F[_, _], T, U] extends AnyRef

    Type class witnessing that type P is equal to F[T, U] for some higher kinded type F[_, _] and types T and U.

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

    Type class witnessing that every element of L is of the form FieldType[K, V] where V is an element of M.

  98. trait Witness extends AnyRef

  99. trait WitnessWith[TC[_]] extends Witness

  100. 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 a representation via Generic.

  101. class _0 extends Nat

    Encoding of zero.

  102. type |¬|[T] = AnyRef { type λ[U] = shapeless.package.<:!<[U,T] }

  103. type |∨|[T, U] = AnyRef { type λ[X] = <:<[(X => Nothing) => Nothing,shapeless.package.∧[T => Nothing,U => Nothing] => Nothing] }

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

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

  105. type ¬[T] = (T) ⇒ Nothing

  106. type ¬¬[T] = ((T) ⇒ Nothing) ⇒ Nothing

  107. type [P[_]] = ([[X](P[X]) ⇒ Nothing]) ⇒ Nothing

  108. type [P[_]] = P[_]

  109. type [T, U] = T with U

  110. type [T, U] = ([(T) ⇒ Nothing, (U) ⇒ Nothing]) ⇒ Nothing

Value Members

  1. object BasisConstraint

  2. object BuildInfo extends Product with Serializable

  3. object Coproduct

  4. object Data extends LowPriorityData

  5. object DataMacros

  6. object DataT extends LowPriorityDataT

  7. object DataTMacros

  8. object EverythingAux extends LowPriorityEverythingAux

  9. object EverywhereAux extends LowPriorityEverywhereAux

  10. object Generic extends LowPriorityGeneric

  11. object GenericMacros

  12. object HList

  13. object HListNthLens

  14. object HListNthLensAux

  15. object HMap

  16. object HNil extends HNil with Product with Serializable

    Empty HList value.

  17. object KeyConstraint

  18. object LUBConstraint

  19. object LabelledGeneric extends LowPriorityLabelledGeneric

  20. object Lazy

  21. object LensDefns

  22. object Lub

  23. object Nat extends Nats

    Type level encoding of the natural numbers.

  24. object NatMacros

  25. object Poly extends PolyInst

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

  26. object PolyDefns extends Cases

  27. object SingletonTypeMacros

  28. object Sized extends LowPrioritySized

  29. object TypeCase

  30. object TypeClass

  31. object Typeable extends TupleTypeableInstances with LowPriorityTypeable

    Provides instances of Typeable.

  32. object UnaryTCConstraint

  33. object Unpack1

  34. object Unpack2

  35. object ValueConstraint

  36. object Witness

  37. object WitnessWith extends LowPriorityWitnessWith

  38. object Zipper extends Serializable

  39. def everything(f: Poly): ApplyEverything[f.type]

  40. def everywhere(f: Poly): EverywhereAux[f.type]

  41. val lens: LensDefns.type

    Lens definitions

  42. val nat: Nat.type

    Nat literals

  43. implicit def neq[A, B]: =:!=[A, B]

  44. implicit def neqAmbig1[A]: =:!=[A, A]

  45. implicit def neqAmbig2[A]: =:!=[A, A]

  46. object newtype

  47. implicit def nsub[A, B]: <:!<[A, B]

  48. implicit def nsubAmbig1[A, B >: A]: <:!<[A, B]

  49. implicit def nsubAmbig2[A, B >: A]: <:!<[A, B]

  50. package ops

  51. val poly: PolyDefns.type

    Poly definitions

  52. object productElements extends Poly1

    Higher ranked function which converts products to HLists.

  53. object record

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

  54. package syntax

  55. object tag

  56. package test

  57. object tupled extends Poly1

    Higher ranked function which converts HLists to tuples.

  58. def unexpected: Nothing

  59. object union

  60. object ~?>

Inherited from AnyRef

Inherited from Any

Ungrouped