NonEmptyTuple

scala.NonEmptyTuple
sealed trait NonEmptyTuple extends Tuple

Tuple of arbitrary non-zero arity.

Attributes

Source
Tuple.scala
Graph
Supertypes
trait Tuple
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class H *: T

Members list

Value members

Inherited methods

inline def *:[H, This >: this.type <: Tuple](x: H): H *: This

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

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

Attributes

Inherited from:
Tuple
Source
Tuple.scala
inline def ++[This >: this.type <: Tuple](that: Tuple): Concat[This, that.type]

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

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

Type parameters

This

the exact type of this tuple

Value parameters

that

the tuple to append to this tuple

Attributes

Inherited from:
Tuple
Source
Tuple.scala
inline def :*[This >: this.type <: Tuple, L](x: L): Append[This, L]

Returns a copy of this tuple with an element appended.

Returns a copy of this tuple with an element appended.

Attributes

Inherited from:
Tuple
Source
Tuple.scala
inline def apply[This >: this.type <: Tuple](n: Int): Elem[This, n.type]

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

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

Type parameters

This

the exact type of this tuple

Value parameters

n

the zero-based index of the element to retrieve

Attributes

Returns

the element at position n, with its precise static type Elem[This, n.type]

Inherited from:
Tuple
Source
Tuple.scala
inline def drop[This >: this.type <: Tuple](n: Int): Drop[This, n.type]

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.

Type parameters

This

the exact type of this tuple

Value parameters

n

the number of elements to drop from the beginning

Attributes

Returns

a tuple containing all elements of this tuple after the first n elements

Inherited from:
Tuple
Source
Tuple.scala
inline def head[This >: this.type <: Tuple]: Head[This]

Gets the head of this tuple.

Gets the head of this tuple.

Type parameters

This

the exact type of this tuple

Attributes

Returns

the first element of this tuple, with its precise static type Head[This]

Inherited from:
Tuple
Source
Tuple.scala
inline def init[This >: this.type <: Tuple]: Init[This]

Gets the initial part of the tuple without its last element.

Gets the initial part of the tuple without its last element.

Type parameters

This

the exact type of this tuple

Attributes

Returns

a new tuple containing all elements of this tuple except the last one

Inherited from:
Tuple
Source
Tuple.scala
inline def last[This >: this.type <: Tuple]: Last[This]

Gets the last of this tuple.

Gets the last of this tuple.

Type parameters

This

the exact type of this tuple

Attributes

Returns

the last element of this tuple, with its precise static type Last[This]

Inherited from:
Tuple
Source
Tuple.scala
inline def map[F[_]](f: [t] => t => F[t]): Map[this.type, 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. Otherwise the result type is F[A1] *: Tuple.

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. Otherwise the result type is F[A1] *: Tuple.

Type parameters

F

the type constructor applied to each element type

Value parameters

f

the polymorphic function to apply to each element, mapping a value of type t to a value of type F[t]

Attributes

Returns

a new tuple containing the result of applying f to each element of this tuple

Inherited from:
Tuple
Source
Tuple.scala

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

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

Value parameters

n

the index of the element name to return

Attributes

Returns

the name of the specified element

Throws
IndexOutOfBoundsException

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

Inherited from:
Product
Source
Product.scala

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

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

Attributes

Inherited from:
Product
Source
Product.scala

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Attributes

Returns

in the default implementation, an Iterator[Any]

Inherited from:
Product
Source
Product.scala

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.

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.

Attributes

Returns

in the default implementation, the empty string

Inherited from:
Product
Source
Product.scala
inline def reverse[This >: this.type <: Tuple]: Reverse[This]

Given a tuple (a1, ..., am), returns the reversed tuple (am, ..., a1) consisting all its elements.

Given a tuple (a1, ..., am), returns the reversed tuple (am, ..., a1) consisting all its elements.

Type parameters

This

the exact type of this tuple

Attributes

Returns

a new tuple containing the elements of this tuple in reverse order

Inherited from:
Tuple
Source
Tuple.scala
inline def size[This >: this.type <: Tuple]: Size[This]

Returns the size (or arity) of the tuple.

Returns the size (or arity) of the tuple.

Type parameters

This

the exact type of this tuple

Attributes

Returns

the arity of this tuple, returned as an Int whose precise static type is the singleton Size[This]

Inherited from:
Tuple
Source
Tuple.scala
inline def splitAt[This >: this.type <: Tuple](n: Int): Split[This, n.type]

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.

Type parameters

This

the exact type of this tuple

Value parameters

n

the number of elements in the first part of the split

Attributes

Returns

a pair of tuples, the first containing the first n elements of this tuple, and the second containing the remaining elements

Inherited from:
Tuple
Source
Tuple.scala
inline def tail[This >: this.type <: Tuple]: Tail[This]

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

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

Type parameters

This

the exact type of this tuple

Attributes

Returns

a new tuple containing all elements of this tuple except the first one

Inherited from:
Tuple
Source
Tuple.scala
inline def take[This >: this.type <: Tuple](n: Int): Take[This, n.type]

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.

Type parameters

This

the exact type of this tuple

Value parameters

n

the number of elements to take from the beginning

Attributes

Returns

a tuple containing the first n elements of this tuple

Inherited from:
Tuple
Source
Tuple.scala
inline def toArray: Array[Object]

Creates a copy of this tuple as an Array.

Creates a copy of this tuple as an Array.

Attributes

Inherited from:
Tuple
Source
Tuple.scala
inline def toIArray: IArray[Object]

Creates a copy of this tuple as an IArray.

Creates a copy of this tuple as an IArray.

Attributes

Inherited from:
Tuple
Source
Tuple.scala
inline def toList: List[Union[this.type]]

Creates a copy of this tuple as a List.

Creates a copy of this tuple as a List.

Attributes

Inherited from:
Tuple
Source
Tuple.scala
inline def zip[This >: this.type <: Tuple, T2 <: Tuple](t2: T2): Zip[This, T2]

Given two tuples, (a1, ..., an) and (b1, ..., bn), 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 (b1, ..., bn), 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

Type parameters

T2

the type of the other tuple to zip with

This

the exact type of this tuple

Value parameters

t2

the tuple to zip with this tuple

Attributes

Returns

a tuple of pairs formed from corresponding elements of this tuple and t2, truncated to the length of the shorter tuple

Inherited from:
Tuple
Source
Tuple.scala

Inherited and Abstract methods

def canEqual(that: Any): Boolean

Checks whether this instance can possibly equal that.

Checks whether this instance can possibly equal that.

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 parameters

that

the value being probed for possible equality

Attributes

Returns

true if this instance can possibly equal that, otherwise false

Inherited from:
Equals
Source
Equals.scala

The size of this product.

The size of this product.

Attributes

Returns

for a product A(x,,1,,, ..., x,,k,,), returns k

Inherited from:
Product
Source
Product.scala

The n^th^ element of this product, 0-based. In other words, for a product A(x,,1,,, ..., x,,k,,), returns x,,(n+1),, where `0 = productArity).

The n^th^ element of this product, 0-based. In other words, for a product A(x,,1,,, ..., x,,k,,), returns x,,(n+1),, where `0 = productArity).

Attributes

Returns

the element n elements after the first element

Inherited from:
Product
Source
Product.scala