LazyCombiner

trait LazyCombiner[Elem, +To, Buff <: Growable[Elem] & Sizing] extends Combiner[Elem, To]

Implements combining contents of two combiners by postponing the operation until result method is called. It chains the leaf results together instead of evaluating the actual collection.

Implements combining contents of two combiners by postponing the operation until result method is called. It chains the leaf results together instead of evaluating the actual collection.

Type Params
Buff

the type of the buffers that contain leaf results and this combiner chains together

Elem

the type of the elements in the combiner

To

the type of the collection the combiner produces

trait Combiner[Elem, To]
trait Parallel
trait Sizing
trait Builder[Elem, To]
trait Growable[Elem]
trait Clearable
class Object
trait Matchable
class Any

Value members

Abstract methods

Method that allocates the data structure and copies elements into it using size and chain members.

Method that allocates the data structure and copies elements into it using size and chain members.

def newLazyCombiner(buffchain: ArrayBuffer[Buff]): LazyCombiner[Elem, To, Buff]

Concrete methods

def addOne(elem: Elem): LazyCombiner[Elem, To, Buff]
def clear(): Unit
def combine[N <: Elem, NewTo >: To](other: Combiner[N, NewTo]): Combiner[N, NewTo]
def result(): To
def size: Int

Inherited methods

@inline
final def ++=(xs: IterableOnce[Elem]): LazyCombiner[Elem, To, Buff]
Inherited from
Growable
@inline
final def +=(elem: Elem): LazyCombiner[Elem, To, Buff]
Inherited from
Growable
def addAll(xs: IterableOnce[Elem]): LazyCombiner[Elem, To, Buff]
Inherited from
Growable
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.

Inherited from
Combiner
Inherited from
Combiner
def fromSequential(seq: IterableOnce[Elem]): To

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

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

Inherited from
Combiner
def knownSize: Int
Inherited from
Growable
def mapResult[NewTo](f: To => NewTo): Builder[Elem, NewTo]
Inherited from
Builder

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

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

Inherited from
Combiner
final def sizeHint(coll: IterableOnce[_], delta: Int): Unit
Inherited from
Builder
def sizeHint(size: Int): Unit
Inherited from
Builder
final def sizeHintBounded(size: Int, boundingColl: Iterable[_]): Unit
Inherited from
Builder

Deprecated and Inherited methods

@inline @deprecated("Use `++=` aka `addAll` instead of varargs `+=`; infix operations with an operand of multiple args will be deprecated", "2.13.0")
final def +=(elem1: Elem, elem2: Elem, elems: Elem*): LazyCombiner[Elem, To, Buff]
Deprecated
Inherited from
Growable

Abstract fields

val chain: ArrayBuffer[Buff]

Concrete fields

val lastbuff: Buff

Inherited fields

@transient @volatile
Inherited from
Combiner