NonEmptyTuple

sealed trait NonEmptyTuple extends Tuple

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.

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.

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.

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.

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

A method that should be called from every well-designed equals method that is open to be overridden in a subclass.

A method that should be called from every well-designed equals method that is open to be overridden in a subclass. See Programming in Scala, Chapter 28 for discussion and design.

Value Params
that

the value being probed for possible equality

Returns

true if this instance can possibly equal that, otherwise false

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)).

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

The size of this product.

The size of this product.

Returns

for a product A(x1, ..., xk), returns k

Inherited from
Product
def productElement(n: Int): Any

The nth element of this product, 0-based.

The nth element of this product, 0-based. In other words, for a product A(x1, ..., xk), returns x(n+1) where 0 <= n < k.

Value Params
n

the index of the element to return

Returns

the element n elements after the first element

Throws
IndexOutOfBoundsException

if the n is out of range(n < 0 || n >= productArity).

Inherited from
Product

The name of the nth element of this product, 0-based.

The name of the nth element of this product, 0-based. In the default implementation, an empty string.

Value Params
n

the index of the element name to return

Returns

the name of the specified element

Throws
IndexOutOfBoundsException

if the n is out of range(n < 0 || n >= productArity).

Inherited from
Product

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

Inherited from
Product

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Returns

in the default implementation, an Iterator[Any]

Inherited from
Product

A string used in the toString methods of derived classes.

A string used in the toString methods of derived classes. Implementations may override this method to prepend a string prefix to the result of toString methods.

Returns

in the default implementation, the empty string

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)).

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