containsOnly

halotukozak.commons.containsOnly
See thecontainsOnly companion trait

Attributes

Companion
trait
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Types

type Loop[Tup <: Tuple, T] = Tup match { case EmptyTuple => true case T *: tail => Loop[tail, T] case Any => false }

Value members

Concrete methods

def refl[Tup <: Tuple, T]: containsOnly[Tup, T]

Givens

Givens

given given_Conversion_Head_T: [Tup <: Tuple : Of[T], T] => Conversion[Head[Tup], T]
given given_Conversion_Last_T: [Tup <: Tuple : Of[T], T] => Conversion[Last[Tup], T]
given given_containsOnly_Concat_T: [Tup1 <: Tuple : Of[T], Tup2 <: Tuple : Of[T], T] => containsOnly[Concat[Tup1, Tup2], T]
given given_containsOnly_Map_C: [Es <: Tuple, C] => containsOnly[Map[Es, [_] =>> C], C]

A constant map [_] =>> C makes every element C. Unifies even for abstract Es.

A constant map [_] =>> C makes every element C. Unifies even for abstract Es.

Attributes

given given_containsOnly_Map_F: [Es <: Tuple, F[_]] => containsOnly[Map[Es, F], F[Any]]

A covariant F gives F[e] &lt;: F[Any] for every element (invariant F still needs refl).

A covariant F gives F[e] &lt;: F[Any] for every element (invariant F still needs refl).

Attributes

given given_containsOnly_Reverse_T: [Tup <: Tuple : Of[T], T] => containsOnly[Reverse[Tup], T]
given given_containsOnly_Tail_T: [Tup <: Tuple : Of[T], T] => containsOnly[Tail[Tup], T]
inline given given_containsOnly_Tup_T: [Tup <: Tuple, T] => Loop[Tup, T] =:= true => containsOnly[Tup, T]
given given_containsOnly_Zip_T1_T2: [Tup1 <: Tuple : Of[T1], Tup2 <: Tuple : Of[T2], T1, T2] => containsOnly[Zip[Tup1, Tup2], (T1, T2)]

Inherited givens