scala.collection.parallel.mutable

# LazyCombiner

#### trait LazyCombiner[Elem, +To, Buff <: Growable[Elem] with 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.

Elem

  the type of the elements in the combiner

To

  the type of the collection the combiner produces

Buff

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

Source
  LazyCombiner.scala

Linear Supertypes
Combiner[Elem, To], Parallel, Sizing, Builder[Elem, To], Growable[Elem], Clearable, AnyRef, Any
Known Subclasses
ResizableParArrayCombiner
Type Hierarchy Learn more about scaladoc diagrams
Ordering

1. Alphabetic
2. By inheritance

Inherited

1. LazyCombiner
2. Combiner
3. Parallel
4. Sizing
5. Builder
6. Growable
7. Clearable
8. AnyRef
9. Any

Implicitly

1. by CollectionsHaveToParArray
2. by any2stringadd
3. by StringFormat
4. by Ensuring
5. by ArrowAssoc

1. Hide All
2. Show all

Learn more about member selection
Visibility

1. Public
2. All

### Abstract Value Members

1. #### abstract def allocateAndCopy: To

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

2. #### abstract val chain: ArrayBuffer[Buff]

3. #### abstract def newLazyCombiner(buffchain: ArrayBuffer[Buff]): LazyCombiner[Elem, To, Buff]

### Concrete Value Members

1. #### final def !=(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### def +(other: String): String

   Implicit information
     This member is added by an implicit conversion from LazyCombiner[Elem, To, Buff] to any2stringadd[LazyCombiner[Elem, To, Buff]] performed by method any2stringadd in scala.Predef.
   Definition Classes
     any2stringadd

4. #### def ++=(xs: TraversableOnce[Elem]): LazyCombiner.this.type

   adds all elements produced by a TraversableOnce to this growable collection.

   adds all elements produced by a TraversableOnce to this growable collection.

   xs

     the TraversableOnce producing the elements to add.

   returns

     the growable collection itself.

   Definition Classes
     Growable

5. #### def +=(elem: Elem): LazyCombiner.this.type

   Adds a single element to the builder.

   Adds a single element to the builder.

   elem

     the element to be added.

   returns

     the builder itself.

   Definition Classes
     LazyCombiner → Builder → Growable

6. #### def +=(elem1: Elem, elem2: Elem, elems: Elem*): LazyCombiner.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

7. #### def ->[B](y: B): (LazyCombiner[Elem, To, Buff], B)

   Implicit information
     This member is added by an implicit conversion from LazyCombiner[Elem, To, Buff] to ArrowAssoc[LazyCombiner[Elem, To, Buff]] performed by method ArrowAssoc in scala.Predef.
   Definition Classes
     ArrowAssoc
   Annotations
     @inline()

8. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

9. #### var _combinerTaskSupport: TaskSupport

   Definition Classes
     Combiner

10. #### final def asInstanceOf[T0]: T0

    Definition Classes
      Any

11. #### 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`.

    Definition Classes
      Combiner

12. #### 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.

    Definition Classes
      LazyCombiner → Builder → Growable → Clearable

13. #### def clone(): AnyRef

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

14. #### 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

    Definition Classes
      LazyCombiner → Combiner

15. #### def combinerTaskSupport: TaskSupport

    Definition Classes
      Combiner

16. #### def combinerTaskSupport_=(cts: TaskSupport): Unit

    Definition Classes
      Combiner

17. #### def ensuring(cond: (LazyCombiner[Elem, To, Buff]) ⇒ Boolean, msg: ⇒ Any): LazyCombiner[Elem, To, Buff]

    Implicit information
      This member is added by an implicit conversion from LazyCombiner[Elem, To, Buff] to Ensuring[LazyCombiner[Elem, To, Buff]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

18. #### def ensuring(cond: (LazyCombiner[Elem, To, Buff]) ⇒ Boolean): LazyCombiner[Elem, To, Buff]

    Implicit information
      This member is added by an implicit conversion from LazyCombiner[Elem, To, Buff] to Ensuring[LazyCombiner[Elem, To, Buff]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

19. #### def ensuring(cond: Boolean, msg: ⇒ Any): LazyCombiner[Elem, To, Buff]

    Implicit information
      This member is added by an implicit conversion from LazyCombiner[Elem, To, Buff] to Ensuring[LazyCombiner[Elem, To, Buff]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

20. #### def ensuring(cond: Boolean): LazyCombiner[Elem, To, Buff]

    Implicit information
      This member is added by an implicit conversion from LazyCombiner[Elem, To, Buff] to Ensuring[LazyCombiner[Elem, To, Buff]] performed by method Ensuring in scala.Predef.
    Definition Classes
      Ensuring

21. #### final def eq(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

22. #### def equals(arg0: Any): Boolean

    Definition Classes
      AnyRef → Any

23. #### def finalize(): Unit

    Attributes
      protected[java.lang]
    Definition Classes
      AnyRef
    Annotations
      @throws( classOf[java.lang.Throwable] )

24. #### def formatted(fmtstr: String): String

    Returns string formatted according to given `format` string.

    Returns string formatted according to given `format` string. Format strings are as for `String.format` (@see java.lang.String.format).

    Implicit information
      This member is added by an implicit conversion from LazyCombiner[Elem, To, Buff] to StringFormat[LazyCombiner[Elem, To, Buff]] performed by method StringFormat in scala.Predef.
    Definition Classes
      StringFormat
    Annotations
      @inline()

25. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

26. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

27. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

28. #### val lastbuff: Buff

29. #### def mapResult[NewTo](f: (To) ⇒ NewTo): Builder[Elem, NewTo]

    Creates a new builder by applying a transformation function to the results of this builder.

    Creates a new builder by applying a transformation function to the results of this builder.

    NewTo

      the type of collection returned by `f`.

    f

      the transformation function.

    returns

      a new builder which is the same as the current builder except that a transformation function is applied to this builder's result.

    Definition Classes
      Builder

30. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

31. #### final def notify(): Unit

    Definition Classes
      AnyRef

32. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

33. #### def result(): To

    Produces a collection from the added elements.

    Produces a collection from the added elements. The builder's contents are undefined after this operation.

    returns

      a collection containing the elements added to this builder.

    Definition Classes
      LazyCombiner → Builder

34. #### def resultWithTaskSupport: To

    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.

    Definition Classes
      Combiner

35. #### def size: Int

    Definition Classes
      LazyCombiner → Sizing

36. #### def sizeHint(coll: TraversableLike[_, _], delta: Int): 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 is known to have a cheap `size` method. Currently this is assumed to be the case if and only if the collection is of type `IndexedSeqLike`. 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

37. #### def sizeHint(coll: TraversableLike[_, _]): 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 is known to have a cheap `size` method. Currently this is assumed to be the case if and only if the collection is of type `IndexedSeqLike`. 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.

    Definition Classes
      Builder

38. #### 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

39. #### def sizeHintBounded(size: Int, boundingColl: TraversableLike[_, _]): 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

40. #### final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
      AnyRef

41. #### def toParArray: ParArray[T]

    Implicit information
      This member is added by an implicit conversion from LazyCombiner[Elem, To, Buff] to CollectionsHaveToParArray[LazyCombiner[Elem, To, Buff], T] performed by method CollectionsHaveToParArray in scala.collection.parallel. This conversion will take place only if an implicit value of type (LazyCombiner[Elem, To, Buff]) ⇒ GenTraversableOnce[T] is in scope.
    Definition Classes
      CollectionsHaveToParArray

42. #### def toString(): String

    Definition Classes
      AnyRef → Any

43. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

44. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

45. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

46. #### def →[B](y: B): (LazyCombiner[Elem, To, Buff], B)

    Implicit information
      This member is added by an implicit conversion from LazyCombiner[Elem, To, Buff] to ArrowAssoc[LazyCombiner[Elem, To, Buff]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
      ArrowAssoc

### Inherited from Combiner[Elem, To]

### Inherited from Parallel

### Inherited from Sizing

### Inherited from Builder[Elem, To]

### Inherited from Growable[Elem]

### Inherited from Clearable

### Inherited from AnyRef

### Inherited from Any

### Inherited by implicit conversion CollectionsHaveToParArray from LazyCombiner[Elem, To, Buff] to CollectionsHaveToParArray[LazyCombiner[Elem, To, Buff], T]

### Inherited by implicit conversion any2stringadd from LazyCombiner[Elem, To, Buff] to any2stringadd[LazyCombiner[Elem, To, Buff]]

### Inherited by implicit conversion StringFormat from LazyCombiner[Elem, To, Buff] to StringFormat[LazyCombiner[Elem, To, Buff]]

### Inherited by implicit conversion Ensuring from LazyCombiner[Elem, To, Buff] to Ensuring[LazyCombiner[Elem, To, Buff]]

### Inherited by implicit conversion ArrowAssoc from LazyCombiner[Elem, To, Buff] to ArrowAssoc[LazyCombiner[Elem, To, Buff]]

### Ungrouped