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

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Combiner
  2. Parallel
  3. Sizing
  4. Builder
  5. Growable
  6. Clearable
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def addOne(elem: Elem): Combiner.this.type
    Definition Classes
    Growable
  2. abstract def clear(): Unit
    Definition Classes
    Builder → Clearable
  3. abstract def combine[N <: Elem, NewTo >: To](other: Combiner[N, NewTo]): Combiner[N, NewTo]

    Combines the contents of the receiver builder and the other builder, producing a new builder containing both their elements.

    Combines the contents of the receiver builder and the other builder, 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 result is invoked, or use a merge operation specific to the data structure in question.

    Note that both the receiver builder and other builder become invalidated after the invocation of this method, and should be cleared (see clear) if they are to be used again.

    Also, combining two combiners c1 and c2 for which c1 eq c2 is true, 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 other builder

    NewTo

    the type of collection produced by the other builder

    other

    the other builder

    returns

    the parallel builder containing both the elements of this and the other builder

  4. abstract def result(): To
    Definition Classes
    Builder
  5. abstract def size: Int
    Definition Classes
    Sizing

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ++=(xs: IterableOnce[Elem]): Combiner.this.type
    Definition Classes
    Growable
    Annotations
    @inline()
  4. final def +=(elem: Elem): Combiner.this.type
    Definition Classes
    Growable
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. val _combinerTaskSupport: TaskSupport
    Annotations
    @transient() @volatile()
  7. def addAll(xs: IterableOnce[Elem]): Combiner.this.type
    Definition Classes
    Growable
  8. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  9. def canBeShared: Boolean

    Returns true if this combiner has a thread-safe += and is meant to be shared across several threads constructing the collection.

    Returns true if this combiner has a thread-safe += and is meant to be shared across several threads constructing the collection.

    By default, this method returns false.

  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  11. def combinerTaskSupport: TaskSupport
  12. def combinerTaskSupport_=(cts: TaskSupport): Unit
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  16. def fromSequential(seq: scala.IterableOnce[Elem]): To

    Add all elements from a sequential collection and return the result.

  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. def knownSize: Int
    Definition Classes
    Growable
  21. def mapResult[NewTo](f: (To) => NewTo): Builder[Elem, NewTo]
    Definition Classes
    Builder
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. def resultWithTaskSupport: To

    Constructs the result and sets the appropriate tasksupport object to the resulting collection if this is applicable.

  26. final def sizeHint(coll: IterableOnce[_], delta: Int): Unit
    Definition Classes
    Builder
  27. def sizeHint(size: Int): Unit
    Definition Classes
    Builder
  28. final def sizeHintBounded(size: Int, boundingColl: Iterable[_]): Unit
    Definition Classes
    Builder
  29. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  30. def toString(): String
    Definition Classes
    AnyRef → Any
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  32. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

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

Inherited from Parallel

Inherited from Sizing

Inherited from Builder[Elem, To]

Inherited from Growable[Elem]

Inherited from Clearable

Inherited from AnyRef

Inherited from Any

Ungrouped