trait Combiner[-Elem, +To] extends Builder[Elem, To] with Sizing with Parallel
The base trait for all combiners.
A combiner incremental collection construction just like
a regular builder, but also implements an efficient merge operation of two builders
via combine method. Once the collection is constructed, it may be obtained by invoking
the result method.
The complexity of the combine method should be less than linear for best
performance. The result method doesn't have to be a constant time operation,
but may be performed in parallel.
- Elem
the type of the elements added to the builder
- To
the type of the collection the builder produces
- Since
2.9
- Alphabetic
- By Inheritance
- Combiner
- Parallel
- Sizing
- Builder
- Growable
- Clearable
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
+=(elem: Elem): Combiner.this.type
- Definition Classes
- Builder → Growable
-
abstract
def
clear(): Unit
- Definition Classes
- Builder → Growable → Clearable
-
abstract
def
combine[N <: Elem, NewTo >: To](other: Combiner[N, NewTo]): Combiner[N, NewTo]
Combines the contents of the receiver builder and the
otherbuilder, producing a new builder containing both their elements.Combines the contents of the receiver builder and the
otherbuilder, producing a new builder containing both their elements.This method may combine the two builders by copying them into a larger collection, by producing a lazy view that gets evaluated once
resultis invoked, or use a merge operation specific to the data structure in question.Note that both the receiver builder and
otherbuilder become invalidated after the invocation of this method, and should be cleared (seeclear) if they are to be used again.Also, combining two combiners
c1andc2for whichc1 eq c2istrue, that is, they are the same objects in memory:c1.combine(c2)
always does nothing and returns
c1.- N
the type of elements contained by the
otherbuilder- NewTo
the type of collection produced by the
otherbuilder- other
the other builder
- returns
the parallel builder containing both the elements of this and the
otherbuilder
-
abstract
def
result(): To
- Definition Classes
- Builder
-
abstract
def
size: Int
- Definition Classes
- Sizing
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
++=(xs: TraversableOnce[Elem]): Combiner.this.type
- Definition Classes
- Growable
-
def
+=(elem1: Elem, elem2: Elem, elems: Elem*): Combiner.this.type
- Definition Classes
- Growable
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
_combinerTaskSupport: TaskSupport
- Annotations
- @transient() @volatile()
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
canBeShared: Boolean
Returns
trueif this combiner has a thread-safe+=and is meant to be shared across several threads constructing the collection.Returns
trueif this combiner has a thread-safe+=and is meant to be shared across several threads constructing the collection.By default, this method returns
false. -
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def combinerTaskSupport: TaskSupport
- def combinerTaskSupport_=(cts: TaskSupport): Unit
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
fromSequential(seq: scala.TraversableOnce[Elem]): To
Add all elements from a sequential collection and return the result.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
mapResult[NewTo](f: (To) ⇒ NewTo): Builder[Elem, NewTo]
- Definition Classes
- Builder
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
resultWithTaskSupport: To
Constructs the result and sets the appropriate tasksupport object to the resulting collection if this is applicable.
-
def
sizeHint(coll: TraversableLike[_, _], delta: Int): Unit
- Definition Classes
- Builder
-
def
sizeHint(coll: TraversableLike[_, _]): Unit
- Definition Classes
- Builder
-
def
sizeHint(size: Int): Unit
- Definition Classes
- Builder
-
def
sizeHintBounded(size: Int, boundingColl: TraversableLike[_, _]): Unit
- Definition Classes
- Builder
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )