Package one.util.streamex
Class PairSpliterator.PSOfRef<T,R>
- java.lang.Object
-
- one.util.streamex.Internals.CloneableSpliterator<R,SS>
-
- one.util.streamex.PairSpliterator<T,java.util.Spliterator<T>,R,PairSpliterator.PSOfRef<T,R>>
-
- one.util.streamex.PairSpliterator.PSOfRef<T,R>
-
- All Implemented Interfaces:
java.lang.Cloneable
,java.util.function.Consumer<T>
,java.util.Spliterator<R>
,Internals.TailSpliterator<R>
- Enclosing class:
- PairSpliterator<T,S extends java.util.Spliterator<T>,R,SS extends PairSpliterator<T,S,R,SS>>
static class PairSpliterator.PSOfRef<T,R> extends PairSpliterator<T,java.util.Spliterator<T>,R,PairSpliterator.PSOfRef<T,R>> implements java.util.function.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
java.util.Spliterator.OfDouble, java.util.Spliterator.OfInt, java.util.Spliterator.OfLong, java.util.Spliterator.OfPrimitive<T extends java.lang.Object,T_CONS extends java.lang.Object,T_SPLITR extends java.util.Spliterator.OfPrimitive<T,T_CONS,T_SPLITR>>
-
-
Field Summary
Fields Modifier and Type Field Description private T
cur
private static java.lang.Object
HEAD_TAIL
private java.util.function.BiFunction<? super T,? super T,? extends R>
mapper
-
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
-
-
Constructor Summary
Constructors Constructor Description PSOfRef(java.util.function.BiFunction<? super T,? super T,? extends R> mapper, java.util.Spliterator<T> source)
PSOfRef(java.util.function.Function<? super T,? extends R> boundMapper, java.util.function.Function<? super T,? extends R> elseMapper, java.util.Spliterator<T> source, boolean first)
PSOfRef(java.util.function.Function<? super T,? extends R> mapper, java.util.Spliterator<T> source, boolean first)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(T t)
private java.util.function.BiConsumer<T,T>
fn(java.util.function.Consumer<? super R> action)
java.util.Spliterator<R>
forEachOrTail(java.util.function.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(java.util.function.Consumer<? super R> action)
boolean
tryAdvance(java.util.function.Consumer<? super R> action)
java.util.Spliterator<R>
tryAdvanceOrTail(java.util.function.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
-
-
-
-
Method Detail
-
tryAdvance
public boolean tryAdvance(java.util.function.Consumer<? super R> action)
- Specified by:
tryAdvance
in interfacejava.util.Spliterator<T>
-
forEachRemaining
public void forEachRemaining(java.util.function.Consumer<? super R> action)
- Specified by:
forEachRemaining
in interfacejava.util.Spliterator<T>
-
tryAdvanceOrTail
public java.util.Spliterator<R> tryAdvanceOrTail(java.util.function.Consumer<? super R> action)
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
public java.util.Spliterator<R> forEachOrTail(java.util.function.Consumer<? super R> action)
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)
-
-