HKDSumGeneric

perspective.derivation.HKDSumGeneric
See theHKDSumGeneric companion trait
object HKDSumGeneric

Attributes

Companion
trait
Source
hkdGeneric.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

Attributes

Companion
trait
Source
hkdGeneric.scala
Supertypes
class Object
trait Matchable
class Any
Self type
trait IndexOfACasting[Index[_], ElemTop]

Attributes

Companion
object
Source
hkdGeneric.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class IndexOfACastingImpl[Index, ElemTop, X1]

Types

type Aux[A, Gen0[_[_]]] = HKDSumGeneric[A] { type Gen = [B[_]] =>> Gen0[B]; }

Attributes

Source
hkdGeneric.scala

Value members

Concrete methods

def apply[A](using gen: HKDSumGeneric[A]): Aux[A, gen.Gen]

Attributes

Source
hkdGeneric.scala
def derivedImpl[A, ElemTypes <: Tuple, Label <: String](label: Label, namesArr: IArray[String], namesSet: Set[String])(using m: SumOf[A] { type MirroredElemTypes = ElemTypes; type MirroredLabel = Label; }, typeLength: TypeLength[A], nz: NotZero[typeLength.Length] =:= true): HKDSumGeneric[A] { type TupleRep = ElemTypes; type Gen = [F[_]] =>> ProductK[F, this.TupleRep]; type Index = [_] =>> Finite[typeLength.Length]; type TypeName = Label; type ElemTop = A & TupleUnion[this.TupleRep, Nothing]; }

Attributes

Source
hkdGeneric.scala

Givens

Givens

transparent inline given derived[A](using m: SumOf[A], typeLength: TypeLength[A])(using NotZero[typeLength.Length] =:= true): HKDSumGeneric[A]

Attributes

Source
hkdGeneric.scala