Subtype

org.hungerford.generic.schema.coproduct.subtype.Subtype$
See theSubtype companion class
object Subtype

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Subtype.type

Members list

Concise view

Type members

Classlikes

sealed trait Discr[D, DN, DV]() extends Subtype

Attributes

Graph
Supertypes
trait Subtype
class Object
trait Matchable
class Any
Known subtypes
trait OrLazy[T, ST, D, DN, DV, N]
class LazySubtype[T, ST, D, DN, DV, N]
class Subtype[T, ST, D, DN, DV, N, S]
sealed trait IsLazy extends IsLazy

Attributes

Graph
Supertypes
trait IsLazy
class Object
trait Matchable
class Any
Known subtypes
class LazySubtype[T, ST, D, DN, DV, N]
sealed trait Named[N <: TypeName]() extends Subtype with Named[N]

Attributes

Graph
Supertypes
trait Named[N]
trait Subtype
class Object
trait Matchable
class Any
Known subtypes
trait OrLazy[T, ST, D, DN, DV, N]
class LazySubtype[T, ST, D, DN, DV, N]
class Subtype[T, ST, D, DN, DV, N, S]
sealed trait NonLazy extends NonLazy

Attributes

Graph
Supertypes
trait NonLazy
class Object
trait Matchable
class Any
Known subtypes
trait Shaped[ST, Shape]
class Subtype[T, ST, D, DN, DV, N, S]
sealed trait Of[T]() extends Subtype with Of[T]

Attributes

Graph
Supertypes
trait Of[T]
trait Subtype
class Object
trait Matchable
class Any
Known subtypes
trait SubOf[T, ST]
trait OrLazy[T, ST, D, DN, DV, N]
class LazySubtype[T, ST, D, DN, DV, N]
class Subtype[T, ST, D, DN, DV, N, S]
sealed trait OrLazy[T, ST, D, DN, DV, N <: TypeName]() extends SubOf[T, ST] with Discr[D, DN, DV] with Named[N]

Attributes

Graph
Supertypes
trait Named[N]
trait Named[N]
trait Discr[D, DN, DV]
trait SubOf[T, ST]
trait Tpe[ST]
trait Tpe[ST]
trait TypeOf[T, ST]
trait Of[T]
trait Of[T]
trait Subtype
class Object
trait Matchable
class Any
Known subtypes
class LazySubtype[T, ST, D, DN, DV, N]
class Subtype[T, ST, D, DN, DV, N, S]
sealed trait Shaped[ST, Shape]() extends Tpe[ST] with NonLazy with Shaped[ST, Shape]

Attributes

Graph
Supertypes
trait Shaped[ST, Shape]
trait NonLazy
trait NonLazy
trait Tpe[ST]
trait Tpe[ST]
trait Subtype
class Object
trait Matchable
class Any
Known subtypes
class Subtype[T, ST, D, DN, DV, N, S]
sealed trait SubOf[T, ST]() extends Of[T] with TypeOf[T, ST] with Tpe[ST]

Attributes

Graph
Supertypes
trait Tpe[ST]
trait Tpe[ST]
trait TypeOf[T, ST]
trait Of[T]
trait Of[T]
trait Subtype
class Object
trait Matchable
class Any
Known subtypes
trait OrLazy[T, ST, D, DN, DV, N]
class LazySubtype[T, ST, D, DN, DV, N]
class Subtype[T, ST, D, DN, DV, N, S]
sealed trait Subtype

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Discr[D, DN, DV]
trait OrLazy[T, ST, D, DN, DV, N]
class LazySubtype[T, ST, D, DN, DV, N]
class Subtype[T, ST, D, DN, DV, N, S]
trait Named[N]
trait Of[T]
trait SubOf[T, ST]
trait Tpe[ST]
trait Shaped[ST, Shape]
sealed trait Tpe[ST]() extends Subtype with Tpe[ST]

Attributes

Graph
Supertypes
trait Tpe[ST]
trait Subtype
class Object
trait Matchable
class Any
Known subtypes
trait Shaped[ST, Shape]
class Subtype[T, ST, D, DN, DV, N, S]
trait SubOf[T, ST]
trait OrLazy[T, ST, D, DN, DV, N]
class LazySubtype[T, ST, D, DN, DV, N]

Types

type NoDiscr = Discr[Nothing, Nothing, Unit]
type WithDiscr[D, DN <: TypeName, DV <: D & Singleton] = Discr[D, DN, DV]

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror