CoproductMirDeriver

org.hungerford.generic.schema.coproduct.CoproductMirDeriver$
See theCoproductMirDeriver companion trait

Attributes

Companion:
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Types

type Aux[T, TsTail <: Tuple, Elems <: Tuple, ElemLabels <: Tuple, O] = CoproductMirDeriver[T, TsTail, Elems, ElemLabels] { type Out = O; }

Value members

Concrete methods

def apply[T, Elems <: Tuple, ElemLabels <: Tuple, Res](mir: SumOf[T] { type MirroredElemTypes = Elems; type MirroredElemLabels = ElemLabels; })(using cd: Aux[T, EmptyTuple, Elems, ElemLabels, Res]): Aux[T, EmptyTuple, Elems, ElemLabels, Res]

Givens

Givens

given given_Aux_T_TsTail_Elems_ElemLabels_CoproductShape[T, TsTail <: Tuple, Elems <: Tuple, ElemLabels <: Tuple, R <: Tuple](using der: Aux[T, TsTail, Elems, ElemLabels, R], ctx: CtxWrapTuplesConstraint[Tpe, R, Elems], uniq: UniqueTypeNames[R], uniqDv: UniqueDiscriminatorValues[R], vd: ValidDiscriminator[Unit, Unit, R]): Aux[T, TsTail, Elems, ElemLabels, CoproductShape[T, R, Elems, Unit, Unit]]