Packages

trait Builder[-A, +To] extends Growable[A]

Base trait for collection builders.

After calling result() the behavior of a Builder (which is not also a scala.collection.mutable.ReusableBuilder) is undefined. No further methods should be called. It is common for mutable collections to be their own non-reusable Builder, in which case result() simply returns this.

Self Type
Builder[A, To]
Source
Builder.scala
See also

scala.collection.mutable.ReusableBuilder for Builders which can be reused after calling result()

Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Builder
  2. Growable
  3. Clearable
  4. AnyRef
  5. 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 addOne(elem: A): Builder.this.type

    Adds a single element to this growable collection.

    Adds a single element to this growable collection.

    elem

    the element to add.

    returns

    the growable collection itself

    Definition Classes
    Growable
  2. abstract def clear(): Unit

    Clears the contents of this builder.

    Clears the contents of this builder. After execution of this method the builder will contain no elements.

    Definition Classes
    BuilderClearable
  3. abstract def result(): To

    Result collection consisting of all elements appended so far.

Concrete Value Members

  1. final def ++=(xs: IterableOnce[A]): Builder.this.type

    Alias for addAll

    Alias for addAll

    Definition Classes
    Growable
    Annotations
    @inline()
  2. final def +=(elem: A): Builder.this.type

    Alias for addOne

    Alias for addOne

    Definition Classes
    Growable
    Annotations
    @inline()
  3. def addAll(xs: IterableOnce[A]): Builder.this.type

    Adds all elements produced by an IterableOnce to this growable collection.

    Adds all elements produced by an IterableOnce to this growable collection.

    xs

    the IterableOnce producing the elements to add.

    returns

    the growable collection itself.

    Definition Classes
    Growable
  4. def knownSize: Int

    returns

    The number of elements in the collection under construction, if it can be cheaply computed, -1 otherwise. The default implementation always returns -1.

    Definition Classes
    Growable
  5. def mapResult[NewTo](f: (To) => NewTo): Builder[A, NewTo]

    A builder resulting from this builder my mapping the result using f.

  6. final def sizeHint(coll: IterableOnce[_], delta: Int = 0): Unit

    Gives a hint that one expects the result of this builder to have the same size as the given collection, plus some delta.

    Gives a hint that one expects the result of this builder to have the same size as the given collection, plus some delta. This will provide a hint only if the collection has a known size Some builder classes will optimize their representation based on the hint. However, builder implementations are still required to work correctly even if the hint is wrong, i.e. a different number of elements is added.

    coll

    the collection which serves as a hint for the result's size.

    delta

    a correction to add to the coll.size to produce the size hint.

  7. def sizeHint(size: Int): Unit

    Gives a hint how many elements are expected to be added when the next result is called.

    Gives a hint how many elements are expected to be added when the next result is called. Some builder classes will optimize their representation based on the hint. However, builder implementations are still required to work correctly even if the hint is wrong, i.e. a different number of elements is added.

    size

    the hint how many elements will be added.

  8. final def sizeHintBounded(size: Int, boundingColl: collection.Iterable[_]): Unit

    Gives a hint how many elements are expected to be added when the next result is called, together with an upper bound given by the size of some other collection.

    Gives a hint how many elements are expected to be added when the next result is called, together with an upper bound given by the size of some other collection. Some builder classes will optimize their representation based on the hint. However, builder implementations are still required to work correctly even if the hint is wrong, i.e. a different number of elements is added.

    size

    the hint how many elements will be added.

    boundingColl

    the bounding collection. If it is an IndexedSeqLike, then sizes larger than collection's size are reduced.

Deprecated Value Members

  1. final def +=(elem1: A, elem2: A, elems: A*): Builder.this.type

    Adds two or more elements to this growable collection.

    Adds two or more elements to this growable collection.

    elem1

    the first element to add.

    elem2

    the second element to add.

    elems

    the remaining elements to add.

    returns

    the growable collection itself

    Definition Classes
    Growable
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use ++= aka addAll instead of varargs +=; infix operations with an operand of multiple args will be deprecated