trait
AllTypeAnnotations[T] extends DepFn0 with Serializable
Type Members
-
abstract
type
Out <: HList
Abstract Value Members
-
abstract
def
apply(): Out
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
-
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Provides all type annotations for the fields or constructors of case class-like or sum type
T
.If type
T
is case class-like, this type class inspects its fields and provides their type annotations. If typeT
is a sum type, its constructor types are looked for type annotations as well.Type
Out
is an HList having the same number of elements asT
(number of fields ofT
ifT
is case class-like, or number of constructors ofT
if it is a sum type). It is made ofHNil
(no annotations for corresponding field or constructor) orHLists
(list of annotations for corresponding field or constructor).Method
apply
provides an HList of typeOut
made ofHNil
(corresponding field or constructor not annotated) orHList
(corresponding field or constructor has annotations).Note that type annotations must be case class-like for this type class to take them into account.
Example:
This implementation is based on shapeless.Annotations by Alexandre Archambault.