Iterator for the bottom level group.
Iterator for the bottom level group. For instance, if we iterate over cities grouped by countries, the implementation of this trait will correspond to the city iterator.
Iterator for mid level groups.
Iterator for mid level groups. For instance, if we iterate over cities grouped by countries 'and' continents, the implementation of this trait will correspond to the country iterator.
Iterator for the top level group.
Iterator for the top level group. For instance, if we iterate over cities grouped by countries, the implementation of this trait will correspond to the country iterator.
(Changed in version 2.8.0) collect
has changed. The previous behavior can be reproduced with toSeq
.
Called on the first time when hasNext
of the innermost iterator returns
false
.
Called on the first time when hasNext
of the innermost iterator returns
false
. The default implementation does nothing.
(groupIterator: MonadOps[A]).filter(p)
(groupIterator: MonadOps[A]).flatMap(f)
(groupIterator: MonadOps[A]).map(f)
(groupIterator: MonadOps[A]).withFilter(p)
Iterator facilitating group-wise iteration over two ore more levels. Each level is represented by an inner iterator. Interactions between these levels are handled internally thus the implementor just needs to define the individual level iterators. Level iterator implementations will typically be inner objects inheriting from the public inner traits of this trait.
This trait is not graph-specific.
Simple or composite type of elements being subject to the iteration. For instance, a two-level iteration could expose just the elements of the inner loop or both the outer and the inner loop elements as a tuple.