Class CollapseSpliterator<T,​R>

  • All Implemented Interfaces:
    java.util.function.Consumer<T>, java.util.Spliterator<R>

    final class CollapseSpliterator<T,​R>
    extends Internals.Box<T>
    implements java.util.Spliterator<R>
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private static class  CollapseSpliterator.Connector<T,​R>  
      • 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 Detail

      • source

        private final java.util.Spliterator<T> source
      • acc

        private R acc
      • mapper

        private final java.util.function.Function<T,​R> mapper
      • accumulator

        private final java.util.function.BiFunction<R,​T,​R> accumulator
      • combiner

        private final java.util.function.BinaryOperator<R> combiner
      • mergeable

        private final java.util.function.BiPredicate<? super T,​? super T> mergeable
    • Constructor Detail

      • CollapseSpliterator

        CollapseSpliterator​(java.util.function.BiPredicate<? super T,​? super T> mergeable,
                            java.util.function.Function<T,​R> mapper,
                            java.util.function.BiFunction<R,​T,​R> accumulator,
                            java.util.function.BinaryOperator<R> combiner,
                            java.util.Spliterator<T> source)
    • Method Detail

      • tryAdvance

        public boolean tryAdvance​(java.util.function.Consumer<? super R> action)
        Specified by:
        tryAdvance in interface java.util.Spliterator<T>
      • forEachRemaining

        public void forEachRemaining​(java.util.function.Consumer<? super R> action)
        Specified by:
        forEachRemaining in interface java.util.Spliterator<T>
      • accept

        private boolean accept​(R acc,
                               java.util.function.Consumer<? super R> action)
      • handleLeft

        private R handleLeft()
      • pushLeft

        private R pushLeft​(T first,
                           R acc)
      • pushRight

        private R pushRight​(R acc,
                            T last)
      • connectOne

        private R connectOne​(T first,
                             R acc,
                             T last)
      • connectEmpty

        private R connectEmpty()
      • trySplit

        public java.util.Spliterator<R> trySplit()
        Specified by:
        trySplit in interface java.util.Spliterator<T>
      • estimateSize

        public long estimateSize()
        Specified by:
        estimateSize in interface java.util.Spliterator<T>
      • characteristics

        public int characteristics()
        Specified by:
        characteristics in interface java.util.Spliterator<T>