NonEmptyTuple

sealed trait NonEmptyTuple extends Tuple

Tuple of arbitrary non-zero arity

Tuple of arbitrary non-zero arity

trait Tuple
trait Product
trait Equals
class Object
trait Matchable
class Any
class H *: T

Value members

Concrete methods

inline def apply[This >: NonEmptyTuple <: NonEmptyTuple](n: Int): Elem[This, n]

Get the i-th element of this tuple. Equivalent to productElement but with a precise return type.

Get the i-th element of this tuple. Equivalent to productElement but with a precise return type.

inline def head[This >: NonEmptyTuple <: NonEmptyTuple]: Head[This]

Get the head of this tuple

Get the head of this tuple

inline def tail[This >: NonEmptyTuple <: NonEmptyTuple]: Tail[This]

Get the tail of this tuple. This operation is O(this.size)

Get the tail of this tuple. This operation is O(this.size)

Inherited methods

inline def *:[H, This >: NonEmptyTuple <: Tuple](x: H): H *: This

Return a new tuple by prepending the element to this tuple. This operation is O(this.size)

Return a new tuple by prepending the element to this tuple. This operation is O(this.size)

Inherited from
Tuple
inline def ++[This >: NonEmptyTuple <: Tuple](that: Tuple): Concat[This, that]

Return a new tuple by concatenating this tuple with that tuple. This operation is O(this.size + that.size)

Return a new tuple by concatenating this tuple with that tuple. This operation is O(this.size + that.size)

Inherited from
Tuple
def canEqual(that: Any): Boolean
Inherited from
Equals
inline def drop[This >: NonEmptyTuple <: Tuple](n: Int): Drop[This, n]

Given a tuple (a1, ..., am), returns the tuple (an+1, ..., am) consisting all its elements except the first n ones.

Given a tuple (a1, ..., am), returns the tuple (an+1, ..., am) consisting all its elements except the first n ones.

Inherited from
Tuple
inline def map[F[_]](f: [t] => (x$1: t) => F[t]): Map[NonEmptyTuple, F]

Called on a tuple (a1, ..., an), returns a new tuple (f(a1), ..., f(an)). The result is typed as (F[A1], ..., F[An]) if the tuple type is fully known. If the tuple is of the form a1 *: ... *: Tuple (that is, the tail is not known to be the cons type.

Called on a tuple (a1, ..., an), returns a new tuple (f(a1), ..., f(an)). The result is typed as (F[A1], ..., F[An]) if the tuple type is fully known. If the tuple is of the form a1 *: ... *: Tuple (that is, the tail is not known to be the cons type.

Inherited from
Tuple
Inherited from
Product
def productElement(n: Int): Any
Inherited from
Product
Inherited from
Product
Inherited from
Product
Inherited from
Product
inline def size[This >: NonEmptyTuple <: Tuple]: Size[This]

Return the size (or arity) of the tuple

Return the size (or arity) of the tuple

Inherited from
Tuple
inline def splitAt[This >: NonEmptyTuple <: Tuple](n: Int): (This, n)

Given a tuple (a1, ..., am), returns a pair of the tuple (a1, ..., an) consisting of the first n elements, and the tuple (an+1, ..., am) consisting of the remaining elements.

Given a tuple (a1, ..., am), returns a pair of the tuple (a1, ..., an) consisting of the first n elements, and the tuple (an+1, ..., am) consisting of the remaining elements.

Inherited from
Tuple
inline def take[This >: NonEmptyTuple <: Tuple](n: Int): Take[This, n]

Given a tuple (a1, ..., am), returns the tuple (a1, ..., an) consisting of its first n elements.

Given a tuple (a1, ..., am), returns the tuple (a1, ..., an) consisting of its first n elements.

Inherited from
Tuple
inline def toArray: Array[Object]

Create a copy this tuple as an Array

Create a copy this tuple as an Array

Inherited from
Tuple
inline def toIArray: IArray[Object]

Create a copy this tuple as an IArray

Create a copy this tuple as an IArray

Inherited from
Tuple

Create a copy this tuple as a List

Create a copy this tuple as a List

Inherited from
Tuple
inline def zip[This >: NonEmptyTuple <: Tuple, T2 <: Tuple](t2: T2): Zip[This, T2]

Given two tuples, (a1, ..., an) and (a1, ..., an), returns a tuple ((a1, b1), ..., (an, bn)). If the two tuples have different sizes, the extra elements of the larger tuple will be disregarded. The result is typed as ((A1, B1), ..., (An, Bn)) if at least one of the tuple types has a EmptyTuple tail. Otherwise the result type is (A1, B1) *: ... *: (Ai, Bi) *: Tuple

Given two tuples, (a1, ..., an) and (a1, ..., an), returns a tuple ((a1, b1), ..., (an, bn)). If the two tuples have different sizes, the extra elements of the larger tuple will be disregarded. The result is typed as ((A1, B1), ..., (An, Bn)) if at least one of the tuple types has a EmptyTuple tail. Otherwise the result type is (A1, B1) *: ... *: (Ai, Bi) *: Tuple

Inherited from
Tuple