AnyRef.Opaque

object Opaque
Source
__.scala
class java.lang.Object
trait scala.Matchable
class Any

Member

abstract class Base[A <: AnyRef.Opaque, REAL <: AnyRef](name: String)(using ct: scala.reflect.ClassTag[REAL]) extends _methods[A, REAL]

AnyRef Opaque Companion Object Base

Opaque Base allows to create Scalqa basic opaque type.

As an example look into J.File.Store with source code available.

Source
Base.scala
abstract class Base[A <: AnyRef.Opaque, REAL <: AnyRef](name: String)(using ct: scala.reflect.ClassTag[REAL]) extends _methods[A, REAL]

AnyRef Opaque Companion Object Base

Opaque Base allows to create Scalqa basic opaque type.

As an example look into J.File.Store with source code available.

Source
Base.scala
abstract class Data[A <: AnyRef.Opaque, REAL <: AnyRef](name: String)(using ct: scala.reflect.ClassTag[REAL]) extends AnyRef.Opaque.Base[A, REAL] with AnyRef.G.Companion.Containers[A] with _methods[A, REAL]

AnyRef Opaque Data Companion Object Base

Opaque Data allows to create Scalqa basic opaque type with attached customized containers.

For AnyRef types there is no performance advantage in having attached containers, just some available syntax choice, compare:

val sb1: Buffer[String] = NEW

//  vs.

val sb2: String.Buffer = NEW

As an example look into BigInteger with source code available.

Source
__.scala
abstract class Data[A <: AnyRef.Opaque, REAL <: AnyRef](name: String)(using ct: scala.reflect.ClassTag[REAL]) extends AnyRef.Opaque.Base[A, REAL] with AnyRef.G.Companion.Containers[A] with _methods[A, REAL]

AnyRef Opaque Data Companion Object Base

Opaque Data allows to create Scalqa basic opaque type with attached customized containers.

For AnyRef types there is no performance advantage in having attached containers, just some available syntax choice, compare:

val sb1: Buffer[String] = NEW

//  vs.

val sb2: String.Buffer = NEW

As an example look into BigInteger with source code available.

Source
__.scala