ArraySeq

This object provides a set of operations to create ArraySeq values.

Companion
class
Source
ArraySeq.scala

Type members

Classlikes

final
class ofBoolean(val unsafeArray: Array[Boolean]) extends ArraySeq[Boolean]
final
class ofByte(val unsafeArray: Array[Byte]) extends ArraySeq[Byte]
final
class ofChar(val unsafeArray: Array[Char]) extends ArraySeq[Char]
final
class ofDouble(val unsafeArray: Array[Double]) extends ArraySeq[Double]
final
class ofFloat(val unsafeArray: Array[Float]) extends ArraySeq[Float]
final
class ofInt(val unsafeArray: Array[Int]) extends ArraySeq[Int]
final
class ofLong(val unsafeArray: Array[Long]) extends ArraySeq[Long]
final
class ofRef[T <: AnyRef](val unsafeArray: Array[T]) extends ArraySeq[T]
final
class ofShort(val unsafeArray: Array[Short]) extends ArraySeq[Short]
final
class ofUnit(val unsafeArray: Array[Unit]) extends ArraySeq[Unit]

Value members

Concrete methods

override
def fill[A : ClassTag](n: Int)(elem: => A): ArraySeq[A]
def from[A](it: IterableOnce[A])(implicit tag: ClassTag[A]): ArraySeq[A]
override
def tabulate[A : ClassTag](n: Int)(f: Int => A): ArraySeq[A]
def unsafeWrapArray[T](x: Array[T]): ArraySeq[T]

Wrap an existing Array into an ArraySeq of the proper primitive specialization type without copying.

Wrap an existing Array into an ArraySeq of the proper primitive specialization type without copying. Any changes to wrapped array will break the expected immutability.

Note that an array containing boxed primitives can be wrapped in an ArraySeq without copying. For example, val a: Array[Any] = Array(1) is an array of Object at runtime, containing Integers. An ArraySeq[Int] can be obtained with a cast: ArraySeq.unsafeWrapArray(a).asInstanceOf[ArraySeq[Int]]. The values are still boxed, the resulting instance is an ArraySeq.ofRef. Writing ArraySeq.unsafeWrapArray(a.asInstanceOf[Array[Int]]) does not work, it throws a ClassCastException at runtime.

Source
ArraySeq.scala

Inherited methods

def apply[A : ClassTag](xs: A*): ArraySeq[A]
def fill[A : ClassTag](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(elem: => A): ArraySeq[ArraySeq[ArraySeq[ArraySeq[ArraySeq[A]]]]]

Produces a five-dimensional collection containing the results of some element computation a number of times.

Produces a five-dimensional collection containing the results of some element computation a number of times.

Value Params
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

n5

the number of elements in the 5th dimension

Returns

A collection that contains the results of n1 x n2 x n3 x n4 x n5 evaluations of elem.

Inherited from
ClassTagIterableFactory
Source
Factory.scala
def fill[A : ClassTag](n1: Int, n2: Int, n3: Int, n4: Int)(elem: => A): ArraySeq[ArraySeq[ArraySeq[ArraySeq[A]]]]

Produces a four-dimensional collection containing the results of some element computation a number of times.

Produces a four-dimensional collection containing the results of some element computation a number of times.

Value Params
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

Returns

A collection that contains the results of n1 x n2 x n3 x n4 evaluations of elem.

Inherited from
ClassTagIterableFactory
Source
Factory.scala
def fill[A : ClassTag](n1: Int, n2: Int, n3: Int)(elem: => A): ArraySeq[ArraySeq[ArraySeq[A]]]

Produces a three-dimensional collection containing the results of some element computation a number of times.

Produces a three-dimensional collection containing the results of some element computation a number of times.

Value Params
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

Returns

A collection that contains the results of n1 x n2 x n3 evaluations of elem.

Inherited from
ClassTagIterableFactory
Source
Factory.scala
def fill[A : ClassTag](n1: Int, n2: Int)(elem: => A): ArraySeq[ArraySeq[A]]

Produces a two-dimensional collection containing the results of some element computation a number of times.

Produces a two-dimensional collection containing the results of some element computation a number of times.

Value Params
elem

the element computation

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

Returns

A collection that contains the results of n1 x n2 evaluations of elem.

Inherited from
ClassTagIterableFactory
Source
Factory.scala
def iterate[A : ClassTag](start: A, len: Int)(f: A => A): ArraySeq[A]

Produces a collection containing repeated applications of a function to a start value.

Produces a collection containing repeated applications of a function to a start value.

Value Params
f

the function that's repeatedly applied

len

the number of elements contained in the collection

start

the start value of the collection

Returns

a collection with len values in the sequence start, f(start), f(f(start)), ...

Inherited from
EvidenceIterableFactory
Source
Factory.scala
def range[A : ClassTag](start: A, end: A, step: A): ArraySeq[A]

Produces a collection containing equally spaced values in some integer interval.

Produces a collection containing equally spaced values in some integer interval.

Value Params
end

the end value of the collection (the first value NOT contained)

start

the start value of the collection

step

the difference between successive elements of the collection (must be positive or negative)

Returns

a collection with values start, start + step, ... up to, but excluding end

Inherited from
ClassTagIterableFactory
Source
Factory.scala
def range[A : ClassTag](start: A, end: A): ArraySeq[A]

Produces a collection containing a sequence of increasing of integers.

Produces a collection containing a sequence of increasing of integers.

Value Params
end

the end value of the collection (the first value NOT contained)

start

the first element of the collection

Returns

a collection with values start, start + 1, ..., end - 1

Inherited from
ClassTagIterableFactory
Source
Factory.scala
def tabulate[A : ClassTag](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(f: (Int, Int, Int, Int, Int) => A): ArraySeq[ArraySeq[ArraySeq[ArraySeq[ArraySeq[A]]]]]

Produces a five-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Produces a five-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Value Params
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

n5

the number of elements in the 5th dimension

Returns

A collection consisting of elements f(i1, i2, i3, i4, i5) for 0 <= i1 < n1, 0 <= i2 < n2, 0 <= i3 < n3, 0 <= i4 < n4, and 0 <= i5 < n5.

Inherited from
ClassTagIterableFactory
Source
Factory.scala
def tabulate[A : ClassTag](n1: Int, n2: Int, n3: Int, n4: Int)(f: (Int, Int, Int, Int) => A): ArraySeq[ArraySeq[ArraySeq[ArraySeq[A]]]]

Produces a four-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Produces a four-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Value Params
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

n4

the number of elements in the 4th dimension

Returns

A collection consisting of elements f(i1, i2, i3, i4) for 0 <= i1 < n1, 0 <= i2 < n2, 0 <= i3 < n3, and 0 <= i4 < n4.

Inherited from
ClassTagIterableFactory
Source
Factory.scala
def tabulate[A : ClassTag](n1: Int, n2: Int, n3: Int)(f: (Int, Int, Int) => A): ArraySeq[ArraySeq[ArraySeq[A]]]

Produces a three-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Produces a three-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Value Params
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

n3

the number of elements in the 3rd dimension

Returns

A collection consisting of elements f(i1, i2, i3) for 0 <= i1 < n1, 0 <= i2 < n2, and 0 <= i3 < n3.

Inherited from
ClassTagIterableFactory
Source
Factory.scala
def tabulate[A : ClassTag](n1: Int, n2: Int)(f: (Int, Int) => A): ArraySeq[ArraySeq[A]]

Produces a two-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Produces a two-dimensional collection containing values of a given function over ranges of integer values starting from 0.

Value Params
f

The function computing element values

n1

the number of elements in the 1st dimension

n2

the number of elements in the 2nd dimension

Returns

A collection consisting of elements f(i1, i2) for 0 <= i1 < n1 and 0 <= i2 < n2.

Inherited from
ClassTagIterableFactory
Source
Factory.scala
final
def unfold[A : ClassTag, S](init: S)(f: S => Option[(A, S)]): ArraySeq[A]

Produces a collection that uses a function f to produce elements of type A and update an internal state of type S.

Produces a collection that uses a function f to produce elements of type A and update an internal state of type S.

Type Params
A

Type of the elements

S

Type of the internal state

Value Params
f

Computes the next element (or returns None to signal the end of the collection)

init

State initial value

Returns

a collection that produces elements using f until f returns None

Inherited from
EvidenceIterableFactory
Source
Factory.scala

Concrete fields

Implicits

Inherited implicits