Packages

t

scala.collection.mutable

ReusableBuilder

trait ReusableBuilder[-Elem, +To] extends Builder[Elem, To]

ReusableBuilder is a marker trait that indicates that a Builder can be reused to build more than one instance of a collection. In particular, calling result() followed by clear() will produce a collection and reset the builder to begin building a new collection of the same type.

In general no method other than clear() may be called after result(). It is up to subclasses to implement and to document other allowed sequences of operations (e.g. calling other methods after result() in order to obtain different snapshots of a collection under construction).

Elem

the type of elements that get added to the builder.

To

the type of collection that it produced.

Source
ReusableBuilder.scala
Linear Supertypes
Builder[Elem, To], Growable[Elem], Clearable, AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ReusableBuilder
  2. Builder
  3. Growable
  4. Clearable
  5. AnyRef
  6. 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: Elem): ReusableBuilder.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.

    If executed immediately after a call to result(), this allows a new instance of the same type of collection to be built.

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

    Produces a collection from the added elements.

    Produces a collection from the added elements.

    After a call to result, the behavior of all other methods is undefined save for clear(). If clear() is called, then the builder is reset and may be used to build another instance.

    returns

    a collection containing the elements added to this builder.

    Definition Classes
    ReusableBuilderBuilder

Concrete Value Members

  1. final def ++=(xs: IterableOnce[Elem]): ReusableBuilder.this.type

    Alias for addAll

    Alias for addAll

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

    Alias for addOne

    Alias for addOne

    Definition Classes
    Growable
    Annotations
    @inline()
  3. def addAll(xs: IterableOnce[Elem]): ReusableBuilder.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[Elem, NewTo]

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

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

    Definition Classes
    Builder
  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.

    Definition Classes
    Builder
  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.

    Definition Classes
    Builder
  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.

    Definition Classes
    Builder

Deprecated Value Members

  1. final def +=(elem1: Elem, elem2: Elem, elems: Elem*): ReusableBuilder.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