Package one.util.streamex
Interface Internals.TailSpliterator<T>
-
- Type Parameters:
T
- the type of elements returned by this spliterator
- All Superinterfaces:
java.util.Spliterator<T>
- All Known Implementing Classes:
HeadTailSpliterator
,PairSpliterator.PSOfRef
,PrependSpliterator
,TailConcatSpliterator
- Enclosing interface:
- Internals
public static interface Internals.TailSpliterator<T> extends java.util.Spliterator<T>
A spliterator which may perform tail-stream optimization
-
-
Nested Class Summary
-
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>>
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Spliterator<T>
forEachOrTail(java.util.function.Consumer<? super T> action)
Traverses this spliterator and returns null if traversal is completed or tail spliterator if it must be used for further traversal.static <T> void
forEachWithTail(java.util.Spliterator<T> target, java.util.function.Consumer<? super T> action)
java.util.Spliterator<T>
tryAdvanceOrTail(java.util.function.Consumer<? super T> 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.static <T> java.util.Spliterator<T>
tryAdvanceWithTail(java.util.Spliterator<T> target, java.util.function.Consumer<? super T> action)
-
-
-
Method Detail
-
tryAdvanceOrTail
java.util.Spliterator<T> tryAdvanceOrTail(java.util.function.Consumer<? super T> 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.- Parameters:
action
- to feed the next element into- Returns:
- tail spliterator, this or null
-
forEachOrTail
java.util.Spliterator<T> forEachOrTail(java.util.function.Consumer<? super T> action)
Traverses this spliterator and returns null if traversal is completed or tail spliterator if it must be used for further traversal.- Parameters:
action
- to feed the elements into- Returns:
- tail spliterator or null (never returns this)
-
tryAdvanceWithTail
static <T> java.util.Spliterator<T> tryAdvanceWithTail(java.util.Spliterator<T> target, java.util.function.Consumer<? super T> action)
-
forEachWithTail
static <T> void forEachWithTail(java.util.Spliterator<T> target, java.util.function.Consumer<? super T> action)
-
-