HKDProductGeneric

trait HKDProductGeneric[A] extends HKDGeneric[A]

A type somewhat like Mirror.ProductOf allowing manipulating a product type as if it was defined as a higher kinded type.

Type parameters:
A

The type being abstracted over.

Companion:
object
trait HKDGeneric[A]
class Object
trait Matchable
class Any

Type members

Inherited classlikes

class IdxWrapper[X](val idx: Index[X])

A wrapper for Index where we want wildcards of it.

A wrapper for Index where we want wildcards of it.

Inherited from:
HKDGeneric

Inherited types

type ElemTop

The top type for the inner type of Index and Gen.

The top type for the inner type of Index and Gen.

Inherited from:
HKDGeneric
type FieldOf[Name <: Names] <: ElemTop

Returns the type of a field given its name.

Returns the type of a field given its name.

Inherited from:
HKDGeneric
type Gen[_[_]]

A representation of A supporting higher kinded types.

A representation of A supporting higher kinded types.

Inherited from:
HKDGeneric
type Index[A]

The index of the Gen type.

The index of the Gen type.

Inherited from:
HKDGeneric
type Names <: String

The name of the fields of A type. Field in this case can mean either the children of a sum type, or the fields of a product type.

The name of the fields of A type. Field in this case can mean either the children of a sum type, or the fields of a product type.

Inherited from:
HKDGeneric
type TupleRep <: Tuple

A tuple representation of A.

A tuple representation of A.

Inherited from:
HKDGeneric

The name of the A type.

The name of the A type.

Inherited from:
HKDGeneric

Value members

Abstract methods

def from(gen: Gen[Id]): A

Convert a value of the higher kinded representation to A.

Convert a value of the higher kinded representation to A.

def to(a: A): Gen[Id]

Convert a value of A to the higher kinded representation.

Convert a value of A to the higher kinded representation.

Inherited methods

def genToTuple[F[_]](gen: Gen[F]): Map[TupleRep, F]

Converts Gen to the tuple representation.

Converts Gen to the tuple representation.

Inherited from:
HKDGeneric
def nameToIndex[Name <: Names](name: Name): Index[FieldOf[Name]]

Returns the index of the field a name corresponds to.

Returns the index of the field a name corresponds to.

Inherited from:
HKDGeneric
def names: Gen[Const[Names]]

The name of the fields of A type. Field in this case can mean either the children of a sum type, or the fields of a product type.

The name of the fields of A type. Field in this case can mean either the children of a sum type, or the fields of a product type.

Inherited from:
HKDGeneric

Validates a string as a name if it matches the name of a field.

Validates a string as a name if it matches the name of a field.

Inherited from:
HKDGeneric
def tupleToGen[F[_]](tuple: Map[TupleRep, F]): Gen[F]

Converts the tuple representation to Gen.

Converts the tuple representation to Gen.

Inherited from:
HKDGeneric

The name of the A type.

The name of the A type.

Inherited from:
HKDGeneric
inline def upcastIndex[X](idx: Index[X]): IdxWrapper[_ <: ElemTop]

Upcast an index to its bound.

Upcast an index to its bound.

Inherited from:
HKDGeneric

Inherited fields

lazy val representable: Aux[Gen, Index]
Inherited from:
HKDGeneric
lazy val traverse: TraverseKC[Gen]
Inherited from:
HKDGeneric

Givens

Inherited givens

Inherited from:
HKDGeneric
Inherited from:
HKDGeneric
Inherited from:
HKDGeneric
given given_TraverseKC_Gen: TraverseKC[Gen]
Inherited from:
HKDGeneric