PreciseSplitter
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.
Type parameters
- T
-
type of the elements this splitter traverses
Attributes
- Graph
-
- Supertypes
-
trait Splitter[T]trait Iterator[T]trait IterableOnce[T]class Objecttrait Matchableclass AnyShow all
- Known subtypes
-
trait SeqSplitter[T]class Elementsclass Patched[U]class RemainsIteratorMapped[S]class RemainsIteratorTakenclass RemainsIteratorZipped[S]class ParRangeIteratorclass ParVectorIteratorclass ParArrayIteratorShow all
Members list
Type members
Inherited classlikes
Attributes
- Inherited from:
- Iterator
- Supertypes
-
class Objecttrait Matchableclass AnyShow all
Value members
Abstract methods
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.
Value parameters
- sizes
-
the sizes used to split this split iterator into iterators that traverse disjunct subsets
Attributes
- Returns
-
a sequence of disjunct subsequence iterators of this parallel iterator
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.
Attributes
- Returns
-
a sequence of disjunct iterators of the collection
Inherited methods
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- Iterator
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- Iterator
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Definition Classes
- Inherited from:
- Iterator
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnce
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- Iterator
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- Iterator
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- Iterator
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnce
Attributes
- Definition Classes
- Inherited from:
- Iterator
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- IterableOnceOps
Attributes
- Inherited from:
- Iterator
Attributes
- Inherited from:
- Iterator
Attributes
- Inherited from:
- Iterator
Deprecated and Inherited methods
Attributes
- Deprecated
-
[Since version 2.13.0]
Use foldLeft instead of /: - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
Use foldRight instead of :\\ - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
For sequential collections, prefer `foldLeft(z)(seqop)`. For parallel collections, use `ParIterableLike#aggregate`. - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
Use `dest ++= coll` instead - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
hasDefiniteSize on Iterator is the same as isEmpty - Definition Classes
- Inherited from:
- Iterator
Attributes
- Deprecated
-
[Since version 2.13.0]
Call scanRight on an Iterable instead. - Inherited from:
- Iterator
Attributes
- Deprecated
-
[Since version 2.13.0]
Iterator.seq always returns the iterator itself - Inherited from:
- Iterator
Attributes
- Deprecated
-
[Since version 2.13.0]
Use .iterator instead of .toIterator - Inherited from:
- IterableOnceOps
Attributes
- Deprecated
-
[Since version 2.13.0]
Use .to(LazyList) instead of .toStream - Inherited from:
- IterableOnceOps