Package one.util.streamex
Class PairSpliterator.PSOfRef<T,R>
java.lang.Object
one.util.streamex.Internals.CloneableSpliterator<R,PairSpliterator.PSOfRef<T,R>>
one.util.streamex.PairSpliterator<T,Spliterator<T>,R,PairSpliterator.PSOfRef<T,R>>
one.util.streamex.PairSpliterator.PSOfRef<T,R>
- All Implemented Interfaces:
Cloneable
,Consumer<T>
,Spliterator<R>
,Internals.TailSpliterator<R>
- Enclosing class:
PairSpliterator<T,
S extends Spliterator<T>, R, SS extends PairSpliterator<T, S, R, SS>>
static class PairSpliterator.PSOfRef<T,R>
extends PairSpliterator<T,Spliterator<T>,R,PairSpliterator.PSOfRef<T,R>>
implements Consumer<T>, Internals.TailSpliterator<R>
-
Nested Class Summary
Nested classes/interfaces inherited from class one.util.streamex.PairSpliterator
PairSpliterator.PSOfDouble, PairSpliterator.PSOfInt, PairSpliterator.PSOfLong, PairSpliterator.PSOfRef<T,
R>, PairSpliterator.Sink<T> Nested classes/interfaces inherited from interface java.util.Spliterator
Spliterator.OfDouble, Spliterator.OfInt, Spliterator.OfLong, Spliterator.OfPrimitive<T,
T_CONS, T_SPLITR extends Spliterator.OfPrimitive<T, T_CONS, T_SPLITR>> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate T
private static final Object
private final BiFunction
<? super T, ? super T, ? extends R> Fields inherited from class one.util.streamex.PairSpliterator
EMPTY, left, lock, mode, MODE_MAP_FIRST, MODE_MAP_FIRST_OR_ELSE, MODE_MAP_LAST, MODE_MAP_LAST_OR_ELSE, MODE_PAIRS, right, source
Fields inherited from interface java.util.Spliterator
CONCURRENT, DISTINCT, IMMUTABLE, NONNULL, ORDERED, SIZED, SORTED, SUBSIZED
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
private BiConsumer
<T, T> forEachOrTail
(Consumer<? super R> action) Traverses this spliterator and returns null if traversal is completed or tail spliterator if it must be used for further traversal.void
forEachRemaining
(Consumer<? super R> action) boolean
tryAdvance
(Consumer<? super R> action) tryAdvanceOrTail
(Consumer<? super R> action) Either advances by one element feeding it to consumer and returns this or returns tail spliterator (this spliterator becomes invalid and tail must be used instead) or returns null if traversal finished.Methods inherited from class one.util.streamex.PairSpliterator
characteristics, estimateSize, finish, trySplit
Methods inherited from class one.util.streamex.Internals.CloneableSpliterator
doClone
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Spliterator
characteristics, estimateSize, getComparator, getExactSizeIfKnown, hasCharacteristics, trySplit
-
Field Details
-
HEAD_TAIL
-
mapper
-
cur
-
-
Constructor Details
-
PSOfRef
PSOfRef(BiFunction<? super T, ? super T, ? extends R> mapper, Spliterator<T> source) -
PSOfRef
PSOfRef(Function<? super T, ? extends R> mapper, Spliterator<T> source, boolean first) -
PSOfRef
-
-
Method Details
-
accept
-
fn
-
tryAdvance
- Specified by:
tryAdvance
in interfaceSpliterator<T>
-
forEachRemaining
- Specified by:
forEachRemaining
in interfaceSpliterator<T>
-
tryAdvanceOrTail
Description copied from interface:Internals.TailSpliterator
Either advances by one element feeding it to consumer and returns this or returns tail spliterator (this spliterator becomes invalid and tail must be used instead) or returns null if traversal finished.- Specified by:
tryAdvanceOrTail
in interfaceInternals.TailSpliterator<T>
- Parameters:
action
- to feed the next element into- Returns:
- tail spliterator, this or null
-
forEachOrTail
Description copied from interface:Internals.TailSpliterator
Traverses this spliterator and returns null if traversal is completed or tail spliterator if it must be used for further traversal.- Specified by:
forEachOrTail
in interfaceInternals.TailSpliterator<T>
- Parameters:
action
- to feed the elements into- Returns:
- tail spliterator or null (never returns this)
-