Packages

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.

CC

Collection type constructor (e.g. List)

Source
Factory.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IterableFactory
  2. Serializable
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def empty[A]: CC[A]

    An empty collection

    An empty collection

    A

    the type of the collection's elements

  2. abstract 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

    A

    the type of the collection’s elements

    source

    Source collection

    returns

    a new collection with the elements of source

  3. abstract def newBuilder[A]: Builder[A, CC[A]]

    A

    the type of the collection’s elements

    returns

    A builder for Iterable objects.

Concrete Value Members

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

    Creates a collection with the specified elements.

    Creates a collection with the specified elements.

    A

    the type of the collection's elements

    elems

    the elements of the created collection

    returns

    a new collection with elements elems

  2. def concat[A](xss: Iterable[A]*): CC[A]

    Concatenates all argument collections into a single collection.

    Concatenates all argument collections into a single collection.

    xss

    the collections that are to be concatenated.

    returns

    the concatenation of all the collections.

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

    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

    elem

    the element computation

    returns

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

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

    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

    elem

    the element computation

    returns

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

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

    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

    elem

    the element computation

    returns

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

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

    n1

    the number of elements in the 1st dimension

    n2

    the number of elements in the 2nd dimension

    elem

    the element computation

    returns

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

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

    n

    the number of elements contained in the collection.

    elem

    the element computation

    returns

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

  8. implicit def iterableFactory[A]: Factory[A, CC[A]]
  9. 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.

    start

    the start value of the collection

    len

    the number of elements contained in the collection

    f

    the function that's repeatedly applied

    returns

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

  10. def range[A](start: A, end: A, step: A)(implicit arg0: Integral[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.

    start

    the start value of the collection

    end

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

    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

  11. def range[A](start: A, end: A)(implicit arg0: Integral[A]): CC[A]

    Produces a collection containing a sequence of increasing of integers.

    Produces a collection containing a sequence of increasing of integers.

    start

    the first element of the collection

    end

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

    returns

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

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

    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

    f

    The function computing element values

    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.

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

    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

    f

    The function computing element values

    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.

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

    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

    f

    The function computing element values

    returns

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

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

    n1

    the number of elements in the 1st dimension

    n2

    the number of elements in the 2nd dimension

    f

    The function computing element values

    returns

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

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

    n

    The number of elements in the collection

    f

    The function computing element values

    returns

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

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

    A

    Type of the elements

    S

    Type of the internal state

    init

    State initial value

    f

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

    returns

    a collection that produces elements using f until f returns None