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_<:<_Head_T`: [Tup <: Tuple : Of[T], This >: Tup <: Tuple, T] => Head[This] <:< T
given `given_<:<_Last_T`: [Tup <: Tuple : Of[T], This >: Tup <: Tuple, T] => Last[This] <:< T
given `given_<:<_Union_T`: [Tup <: Tuple : Of[T], This >: Tup <: Tuple, T] => Union[This] <:< T
given given_containsOnly_Append_T: [Tup <: Tuple : Of[T], Y <: T, T] => containsOnly[Append[Tup, Y], T]
given given_containsOnly_Concat_T: [Tup1 <: Tuple : Of[T], Tup2 <: Tuple : Of[T], T] => containsOnly[Concat[Tup1, Tup2], T]
given given_containsOnly_Drop_T: [Tup <: Tuple : Of[T], N <: Int, T] => containsOnly[Drop[Tup, N], T]
given given_containsOnly_Filter_T: [Tup <: Tuple : Of[T], P <: ([_ <: Union[Tup]] =>> Boolean), T] => containsOnly[Filter[Tup, P], T]
given given_containsOnly_Init_T: [Tup <: Tuple : Of[T], T] => containsOnly[Init[Tup], 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]
given given_containsOnly_Take_T: [Tup <: Tuple : Of[T], N <: Int, T] => containsOnly[Take[Tup, N], T]
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

given `given_<:<_Elem_T`: [Tup <: Tuple : Of[T], This >: Tup <: Tuple, N <: Int, T] => Elem[This, N] <:< T

Attributes

Inherited from:
containsOnlyLowPriority