t

scala.collection.parallel

PreciseSplitter

trait PreciseSplitter[+T] extends Splitter[T]

A precise splitter (or a precise split iterator) can be split into arbitrary number of splitters that traverse disjoint subsets of arbitrary sizes.

Implementors might want to override the parameterless split method for efficiency.

T

type of the elements this splitter traverses

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PreciseSplitter
  2. Splitter
  3. Iterator
  4. IterableOnceOps
  5. IterableOnce
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. class GroupedIterator[B >: A] extends AbstractIterator[immutable.Seq[B]]
    Definition Classes
    Iterator

Abstract Value Members

  1. abstract def hasNext: Boolean
    Definition Classes
    Iterator
  2. abstract def next(): T
    Definition Classes
    Iterator
    Annotations
    @throws(scala.this.throws.<init>$default$1[NoSuchElementException])
  3. abstract def psplit(sizes: Int*): Seq[PreciseSplitter[T]]

    Splits the splitter into disjunct views.

    Splits the splitter into disjunct views.

    This overloaded version of the split method is specific to precise splitters. It returns a sequence of splitters, each iterating some subset of the elements in this splitter. The sizes of the subsplitters in the partition is equal to the size in the corresponding argument, as long as there are enough elements in this splitter to split it that way.

    If there aren't enough elements, a zero element splitter is appended for each additional argument. If there are additional elements, an additional splitter is appended at the end to compensate.

    For example, say we have a splitter ps with 100 elements. Invoking:

    ps.split(50, 25, 25, 10, 5)

    will return a sequence of five splitters, last two views being empty. On the other hand, calling:

    ps.split(50, 40)

    will return a sequence of three splitters, last of them containing ten elements.

    Note: this method actually invalidates the current splitter.

    Unlike the case with split found in splitters, views returned by this method can be empty.

    sizes

    the sizes used to split this split iterator into iterators that traverse disjunct subsets

    returns

    a sequence of disjunct subsequence iterators of this parallel iterator

  4. abstract def split: Seq[PreciseSplitter[T]]

    Splits the iterator into a sequence of disjunct views.

    Splits the iterator into a sequence of disjunct views.

    Returns a sequence of split iterators, each iterating over some subset of the elements in the collection. These subsets are disjoint and should be approximately equal in size. These subsets are not empty, unless the iterator is empty in which case this method returns a sequence with a single empty iterator. If the splitter has more than two elements, this method will return two or more splitters.

    Implementors are advised to keep this partition relatively small - two splitters are already enough when partitioning the collection, although there may be a few more.

    Note: this method actually invalidates the current splitter.

    returns

    a sequence of disjunct iterators of the collection

    Definition Classes
    PreciseSplitterSplitter

Concrete Value Members

  1. final def ++[B >: T](xs: => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator
    Annotations
    @inline()
  2. final def addString(b: mutable.StringBuilder): b.type
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  3. final def addString(b: mutable.StringBuilder, sep: String): b.type
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  4. def addString(b: mutable.StringBuilder, start: String, sep: String, end: String): b.type
    Definition Classes
    IterableOnceOps
  5. def buffered: BufferedIterator[T]
    Definition Classes
    Iterator
  6. def collect[B](pf: PartialFunction[T, B]): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  7. def collectFirst[B](pf: PartialFunction[T, B]): Option[B]
    Definition Classes
    IterableOnceOps
  8. def concat[B >: T](xs: => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator
  9. def contains(elem: Any): Boolean
    Definition Classes
    Iterator
  10. def copyToArray[B >: T](xs: Array[B], start: Int, len: Int): Int
    Definition Classes
    IterableOnceOps
  11. def copyToArray[B >: T](xs: Array[B], start: Int): Int
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecatedOverriding()
  12. def copyToArray[B >: T](xs: Array[B]): Int
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecatedOverriding()
  13. def corresponds[B](that: IterableOnce[B])(p: (T, B) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  14. def count(p: (T) => Boolean): Int
    Definition Classes
    IterableOnceOps
  15. def distinct: Iterator[T]
    Definition Classes
    Iterator
  16. def distinctBy[B](f: (T) => B): Iterator[T]
    Definition Classes
    Iterator
  17. def drop(n: Int): Iterator[T]
    Definition Classes
    Iterator → IterableOnceOps
  18. def dropWhile(p: (T) => Boolean): Iterator[T]
    Definition Classes
    Iterator → IterableOnceOps
  19. def duplicate: (Iterator[T], Iterator[T])
    Definition Classes
    Iterator
  20. def exists(p: (T) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  21. def filter(p: (T) => Boolean): Iterator[T]
    Definition Classes
    Iterator → IterableOnceOps
  22. def filterNot(p: (T) => Boolean): Iterator[T]
    Definition Classes
    Iterator → IterableOnceOps
  23. def find(p: (T) => Boolean): Option[T]
    Definition Classes
    IterableOnceOps
  24. def flatMap[B](f: (T) => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  25. def flatten[B](implicit ev: (T) => IterableOnce[B]): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  26. def fold[A1 >: T](z: A1)(op: (A1, A1) => A1): A1
    Definition Classes
    IterableOnceOps
  27. def foldLeft[B](z: B)(op: (B, T) => B): B
    Definition Classes
    IterableOnceOps
  28. def foldRight[B](z: B)(op: (T, B) => B): B
    Definition Classes
    IterableOnceOps
  29. def forall(p: (T) => Boolean): Boolean
    Definition Classes
    IterableOnceOps
  30. def foreach[U](f: (T) => U): Unit
    Definition Classes
    IterableOnceOps
  31. def grouped[B >: T](size: Int): GroupedIterator[B]
    Definition Classes
    Iterator
  32. def indexOf[B >: T](elem: B, from: Int): Int
    Definition Classes
    Iterator
  33. def indexOf[B >: T](elem: B): Int
    Definition Classes
    Iterator
  34. def indexWhere(p: (T) => Boolean, from: Int): Int
    Definition Classes
    Iterator
  35. def isEmpty: Boolean
    Definition Classes
    Iterator → IterableOnceOps
    Annotations
    @deprecatedOverriding()
  36. def isTraversableAgain: Boolean
    Definition Classes
    IterableOnceOps
  37. final def iterator: Iterator[T]
    Definition Classes
    Iterator → IterableOnce
    Annotations
    @inline()
  38. def knownSize: Int
    Definition Classes
    IterableOnce
  39. final def length: Int
    Definition Classes
    Iterator
    Annotations
    @inline()
  40. def map[B](f: (T) => B): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  41. def max[B >: T](implicit ord: math.Ordering[B]): T
    Definition Classes
    IterableOnceOps
  42. def maxBy[B](f: (T) => B)(implicit ord: math.Ordering[B]): T
    Definition Classes
    IterableOnceOps
  43. def maxByOption[B](f: (T) => B)(implicit ord: math.Ordering[B]): Option[T]
    Definition Classes
    IterableOnceOps
  44. def maxOption[B >: T](implicit ord: math.Ordering[B]): Option[T]
    Definition Classes
    IterableOnceOps
  45. def min[B >: T](implicit ord: math.Ordering[B]): T
    Definition Classes
    IterableOnceOps
  46. def minBy[B](f: (T) => B)(implicit ord: math.Ordering[B]): T
    Definition Classes
    IterableOnceOps
  47. def minByOption[B](f: (T) => B)(implicit ord: math.Ordering[B]): Option[T]
    Definition Classes
    IterableOnceOps
  48. def minOption[B >: T](implicit ord: math.Ordering[B]): Option[T]
    Definition Classes
    IterableOnceOps
  49. final def mkString: String
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  50. final def mkString(sep: String): String
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  51. final def mkString(start: String, sep: String, end: String): String
    Definition Classes
    IterableOnceOps
  52. def nextOption(): Option[T]
    Definition Classes
    Iterator
  53. def nonEmpty: Boolean
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecatedOverriding()
  54. def padTo[B >: T](len: Int, elem: B): Iterator[B]
    Definition Classes
    Iterator
  55. def partition(p: (T) => Boolean): (Iterator[T], Iterator[T])
    Definition Classes
    Iterator
  56. def patch[B >: T](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]
    Definition Classes
    Iterator
  57. def product[B >: T](implicit num: math.Numeric[B]): B
    Definition Classes
    IterableOnceOps
  58. def reduce[B >: T](op: (B, B) => B): B
    Definition Classes
    IterableOnceOps
  59. def reduceLeft[B >: T](op: (B, T) => B): B
    Definition Classes
    IterableOnceOps
  60. def reduceLeftOption[B >: T](op: (B, T) => B): Option[B]
    Definition Classes
    IterableOnceOps
  61. def reduceOption[B >: T](op: (B, B) => B): Option[B]
    Definition Classes
    IterableOnceOps
  62. def reduceRight[B >: T](op: (T, B) => B): B
    Definition Classes
    IterableOnceOps
  63. def reduceRightOption[B >: T](op: (T, B) => B): Option[B]
    Definition Classes
    IterableOnceOps
  64. def sameElements[B >: T](that: IterableOnce[B]): Boolean
    Definition Classes
    Iterator
  65. def scanLeft[B](z: B)(op: (B, T) => B): Iterator[B]
    Definition Classes
    Iterator → IterableOnceOps
  66. def size: Int
    Definition Classes
    IterableOnceOps
  67. def slice(from: Int, until: Int): Iterator[T]
    Definition Classes
    Iterator → IterableOnceOps
  68. def sliding[B >: T](size: Int, step: Int): GroupedIterator[B]
    Definition Classes
    Iterator
  69. def span(p: (T) => Boolean): (Iterator[T], Iterator[T])
    Definition Classes
    Iterator → IterableOnceOps
  70. def splitAt(n: Int): (Iterator[T], Iterator[T])
    Definition Classes
    IterableOnceOps
  71. def stepper[S <: Stepper[_]](implicit shape: StepperShape[T, S]): S
    Definition Classes
    IterableOnce
  72. def sum[B >: T](implicit num: math.Numeric[B]): B
    Definition Classes
    IterableOnceOps
  73. def take(n: Int): Iterator[T]
    Definition Classes
    Iterator → IterableOnceOps
  74. def takeWhile(p: (T) => Boolean): Iterator[T]
    Definition Classes
    Iterator → IterableOnceOps
  75. def tapEach[U](f: (T) => U): Iterator[T]
    Definition Classes
    Iterator → IterableOnceOps
  76. def to[C1](factory: Factory[T, C1]): C1
    Definition Classes
    IterableOnceOps
  77. def toArray[B >: T](implicit arg0: ClassTag[B]): Array[B]
    Definition Classes
    IterableOnceOps
  78. final def toBuffer[B >: T]: Buffer[B]
    Definition Classes
    IterableOnceOps
    Annotations
    @inline()
  79. def toIndexedSeq: immutable.IndexedSeq[T]
    Definition Classes
    IterableOnceOps
  80. def toList: immutable.List[T]
    Definition Classes
    IterableOnceOps
  81. def toMap[K, V](implicit ev: <:<[T, (K, V)]): immutable.Map[K, V]
    Definition Classes
    IterableOnceOps
  82. def toSeq: immutable.Seq[T]
    Definition Classes
    IterableOnceOps
  83. def toSet[B >: T]: immutable.Set[B]
    Definition Classes
    IterableOnceOps
  84. def toString(): String
    Definition Classes
    Iterator → AnyRef → Any
  85. def toVector: immutable.Vector[T]
    Definition Classes
    IterableOnceOps
  86. def withFilter(p: (T) => Boolean): Iterator[T]
    Definition Classes
    Iterator
  87. def zip[B](that: IterableOnce[B]): Iterator[(T, B)]
    Definition Classes
    Iterator
  88. def zipAll[A1 >: T, B](that: IterableOnce[B], thisElem: A1, thatElem: B): Iterator[(A1, B)]
    Definition Classes
    Iterator
  89. def zipWithIndex: Iterator[(T, Int)]
    Definition Classes
    Iterator → IterableOnceOps

Deprecated Value Members

  1. final def /:[B](z: B)(op: (B, T) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use foldLeft instead of /:

  2. final def :\[B](z: B)(op: (T, B) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use foldRight instead of :\

  3. def aggregate[B](z: => B)(seqop: (B, T) => B, combop: (B, B) => B): B
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) For sequential collections, prefer foldLeft(z)(seqop). For parallel collections, use ParIterableLike#aggregate.

  4. final def copyToBuffer[B >: T](dest: Buffer[B]): Unit
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use dest ++= coll instead

  5. final def hasDefiniteSize: Boolean
    Definition Classes
    Iterator → IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) hasDefiniteSize on Iterator is the same as isEmpty

  6. def scanRight[B](z: B)(op: (T, B) => B): Iterator[B]
    Definition Classes
    Iterator
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Call scanRight on an Iterable instead.

  7. def seq: PreciseSplitter.this.type
    Definition Classes
    Iterator
    Annotations
    @deprecated
    Deprecated

    (Since version 2.13.0) Iterator.seq always returns the iterator itself

  8. final def toIterator: Iterator[T]
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use .iterator instead of .toIterator

  9. final def toStream: immutable.Stream[T]
    Definition Classes
    IterableOnceOps
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.13.0) Use .to(LazyList) instead of .toStream