ReusableBuilder
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).
- Type parameters:
- Elem
the type of elements that get added to the builder.
- To
the type of collection that it produced.
- Source:
- ReusableBuilder.scala
Value members
Abstract methods
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
- Source:
- ReusableBuilder.scala
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
- Source:
- ReusableBuilder.scala
Inherited methods
Adds all elements produced by an IterableOnce to this growable collection.
Adds all elements produced by an IterableOnce to this growable collection.
- Value parameters:
- xs
the IterableOnce producing the elements to add.
- Returns:
the growable collection itself.
- Inherited from:
- Growable
- Source:
- Growable.scala
Adds a single element to this growable collection.
Adds a single element to this growable collection.
- Value parameters:
- elem
the element to add.
- Returns:
the growable collection itself
- Inherited from:
- Growable
- Source:
- Growable.scala
- Returns:
The number of elements in the collection under construction, if it can be cheaply computed, -1 otherwise. The default implementation always returns -1.
- Inherited from:
- Growable
- Source:
- Growable.scala
A builder resulting from this builder my mapping the result using f
.
A builder resulting from this builder my mapping the result using f
.
- Inherited from:
- Builder
- Source:
- Builder.scala
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.
- Value parameters:
- 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.
- Inherited from:
- Builder
- Source:
- Builder.scala
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.
- Value parameters:
- size
the hint how many elements will be added.
- Inherited from:
- Builder
- Source:
- Builder.scala
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.
- Value parameters:
- boundingColl
the bounding collection. If it is an IndexedSeqLike, then sizes larger than collection's size are reduced.
- size
the hint how many elements will be added.
- Inherited from:
- Builder
- Source:
- Builder.scala
Deprecated and Inherited methods
Adds two or more elements to this growable collection.
Adds two or more elements to this growable collection.
- Value parameters:
- elem1
the first element to add.
- elem2
the second element to add.
- elems
the remaining elements to add.
- Returns:
the growable collection itself
- Deprecated
- Inherited from:
- Growable
- Source:
- Growable.scala