IterableFactory

trait IterableFactory[+CC[_]] extends Serializable

Base trait for companion objects of unconstrained collection types that may require multiple traversals of a source collection to build a target collection CC.

Type parameters:
CC

Collection type constructor (e.g. List)

Companion:
object
Source:
Factory.scala
class Object
trait Matchable
class Any
class AnySeqDelegate[CC]
class Delegate[CC]
object Iterable.type
object Set.type
object Iterable.type
object Iterable.type
object Set.type
object Iterator.type
trait SeqFactory[CC]
class Delegate[CC]
object IndexedSeq.type
object LinearSeq.type
object Seq.type
object IndexedSeq.type
object LinearSeq.type
object Seq.type
object Buffer.type
object IndexedBuffer.type
object IndexedSeq.type
object Seq.type
object List.type
object Queue.type
object Vector.type
object ArrayBuffer.type
object ArrayDeque.type
object ListBuffer.type
object Queue.type
object Stack.type
object LazyList.type
object Stream.type
object AnyAccumulator.type
object View.type
object HashSet.type
object ListSet.type
object Set.type
object HashSet.type
object LinkedHashSet.type

Value members

Abstract methods

def empty[A]: CC[A]

An empty collection

An empty collection

Type parameters:
A

the type of the collection's elements

Source:
Factory.scala
def from[A](source: IterableOnce[A]): CC[A]

Creates a target collection from an existing source collection

Creates a target collection from an existing source collection

Type parameters:
A

the type of the collection’s elements

Value parameters:
source

Source collection

Returns:

a new collection with the elements of source

Source:
Factory.scala
def fromSpecific(from: From)(it: IterableOnce[A]): C
Implicitly added by toBuildFrom
def fromSpecific(it: IterableOnce[A]): C
Implicitly added by toFactory
Value parameters:
it

Source collection

Returns:

A collection of type C containing the same elements as the source collection it.

Source:
Factory.scala
def newBuilder(from: From): Builder[A, C]
Implicitly added by toBuildFrom

Get a Builder for the collection.

Get a Builder for the collection. For non-strict collection types this will use an intermediate buffer. Building collections with fromSpecific is preferred because it can be lazy for lazy collections.

Source:
BuildFrom.scala
def newBuilder: Builder[A, C]
Implicitly added by toFactory

Get a Builder for the collection.

Get a Builder for the collection. For non-strict collection types this will use an intermediate buffer. Building collections with fromSpecific is preferred because it can be lazy for lazy collections.

Source:
Factory.scala
def newBuilder[A]: Builder[A, CC[A]]
Type parameters:
A

the type of the collection’s elements

Returns:

A builder for Iterable objects.

Source:
Factory.scala

Concrete methods

def apply[A](elems: A*): CC[A]

Creates a collection with the specified elements.

Creates a collection with the specified elements.

Type parameters:
A

the type of the collection's elements

Value parameters:
elems

the elements of the created collection

Returns:

a new collection with elements elems

Source:
Factory.scala
def concat[A](xss: Iterable[A]*): CC[A]

Concatenates all argument collections into a single collection.

Concatenates all argument collections into a single collection.

Value parameters:
xss

the collections that are to be concatenated.

Returns:

the concatenation of all the collections.

Source:
Factory.scala
def fill[A](n: Int)(elem: => A): CC[A]

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

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

Value parameters:
elem

the element computation

n

the number of elements contained in the collection.

Returns:

A collection that contains the results of n evaluations of elem.

Source:
Factory.scala
def fill[A](n1: Int, n2: Int)(elem: => A): CC[CC[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 parameters:
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.

Source:
Factory.scala
def fill[A](n1: Int, n2: Int, n3: Int)(elem: => A): CC[CC[CC[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 parameters:
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.

Source:
Factory.scala
def fill[A](n1: Int, n2: Int, n3: Int, n4: Int)(elem: => A): CC[CC[CC[CC[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 parameters:
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.

Source:
Factory.scala
def fill[A](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(elem: => A): CC[CC[CC[CC[CC[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 parameters:
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.

Source:
Factory.scala
def iterate[A](start: A, len: Int)(f: A => A): CC[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 parameters:
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)), ...

Source:
Factory.scala
def range[A : Integral](start: A, end: A): CC[A]

Produces a collection containing a sequence of increasing of integers.

Produces a collection containing a sequence of increasing of integers.

Value parameters:
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

Source:
Factory.scala
def range[A : Integral](start: A, end: A, step: A): CC[A]

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

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

Value parameters:
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

Source:
Factory.scala
def tabulate[A](n: Int)(f: Int => A): CC[A]

Produces a collection containing values of a given function over a range of integer values starting from 0.

Produces a collection containing values of a given function over a range of integer values starting from 0.

Value parameters:
f

The function computing element values

n

The number of elements in the collection

Returns:

A collection consisting of elements f(0), ..., f(n -1)

Source:
Factory.scala
def tabulate[A](n1: Int, n2: Int)(f: (Int, Int) => A): CC[CC[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 parameters:
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.

Source:
Factory.scala
def tabulate[A](n1: Int, n2: Int, n3: Int)(f: (Int, Int, Int) => A): CC[CC[CC[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 parameters:
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.

Source:
Factory.scala
def tabulate[A](n1: Int, n2: Int, n3: Int, n4: Int)(f: (Int, Int, Int, Int) => A): CC[CC[CC[CC[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 parameters:
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.

Source:
Factory.scala
def tabulate[A](n1: Int, n2: Int, n3: Int, n4: Int, n5: Int)(f: (Int, Int, Int, Int, Int) => A): CC[CC[CC[CC[CC[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 parameters:
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.

Source:
Factory.scala
def toFactory(from: From): Factory[A, C]
Implicitly added by toBuildFrom

Partially apply a BuildFrom to a Factory

Partially apply a BuildFrom to a Factory

Source:
BuildFrom.scala
def unfold[A, S](init: S)(f: S => Option[(A, S)]): CC[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 parameters:
A

Type of the elements

S

Type of the internal state

Value parameters:
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

Source:
Factory.scala

Deprecated methods

@deprecated("Use newBuilder() instead of apply()", "2.13.0") @inline
def apply(from: From): Builder[A, C]
Implicitly added by toBuildFrom
Deprecated
Source:
BuildFrom.scala

Implicits

Implicits

implicit def iterableFactory[A]: Factory[A, CC[A]]