halotukozak.commons

Members list

Type members

Classlikes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
sealed infix trait containsOnly[-Tup <: Tuple, +T]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object containsOnly

Types

type HasDuplicates[Tup <: Tuple] = Tup match { case EmptyTuple => false case h *: t => Contains[t, h] || HasDuplicates[t] }
type Indices[Tup <: Tuple] = Tup match { case EmptyTuple => EmptyTuple case h *: t => 0 *: IndicesAux[t, 1] }
type IndicesAux[Tup <: Tuple, N <: Int] = Tup match { case EmptyTuple => EmptyTuple case h *: t => N *: IndicesAux[t, S[N]] }
type Of[T] = [Tup <: Tuple] =>> containsOnly[Tup, T]

Value members

Concrete methods

inline def realCons(x: Any, tup: Tuple): x.type *: tup.type

Extensions

Extensions

extension (companion: Expr.type)
def ofRefinedTuple(exprs: List[Expr[_]])(using Quotes): Expr[Tuple]
extension (tup: Tuple)
inline def foreach(f: [t] => t => Unit): Unit
inline def hasDuplicates: HasDuplicates[tup.type]
inline def indices: Indices[tup.type]
inline def mapAs[T](using containsOnly[tup.type, T])[F[_ <: T]](inline f: [t <: T] => t => F[t]): Map[tup.type, [X] =>> F[X & T]]
def to[T](using containsOnly[tup.type, T])[C](factory: Factory[T, C]): C
def toArrayOf[T](using containsOnly[tup.type, T])(using ClassTag[T]): Array[T]