DropWhileTask(AbstractPipeline<P_OUT, P_OUT, ?> op, PipelineHelper<P_OUT> helper, Spliterator<P_IN> spliterator, IntFunction<P_OUT[]> generator) { super(helper, spliterator); this.op = op; this.generator = generator; this.isOrdered = StreamOpFlag.ORDERED.isKnown(helper.getStreamAndOpFlags()); }
TakeWhileTask(AbstractPipeline<P_OUT, P_OUT, ?> op, PipelineHelper<P_OUT> helper, Spliterator<P_IN> spliterator, IntFunction<P_OUT[]> generator) { super(helper, spliterator); this.op = op; this.generator = generator; this.isOrdered = StreamOpFlag.ORDERED.isKnown(helper.getStreamAndOpFlags()); }
DropWhileTask(AbstractPipeline<P_OUT, P_OUT, ?> op, PipelineHelper<P_OUT> helper, Spliterator<P_IN> spliterator, IntFunction<P_OUT[]> generator) { super(helper, spliterator); this.op = op; this.generator = generator; this.isOrdered = StreamOpFlag.ORDERED.isKnown(helper.getStreamAndOpFlags()); }
@Override public <P_IN> Long evaluateParallel(PipelineHelper<Integer> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateParallel(helper, spliterator); }
@Override public <P_IN> Long evaluateParallel(PipelineHelper<Double> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateParallel(helper, spliterator); }
@Override public <P_IN> Long evaluateParallel(PipelineHelper<T> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateParallel(helper, spliterator); }
@Override public <P_IN> Long evaluateParallel(PipelineHelper<Long> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateParallel(helper, spliterator); }
@Override public <P_IN> Long evaluateSequential(PipelineHelper<T> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateSequential(helper, spliterator); }
@Override public <P_IN> Long evaluateSequential(PipelineHelper<Double> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateSequential(helper, spliterator); }
@Override public final long getExactSizeIfKnown() { init(); return StreamOpFlag.SIZED.isKnown(ph.getStreamAndOpFlags()) ? spliterator.getExactSizeIfKnown() : -1; }
@Override public <P_IN> Long evaluateSequential(PipelineHelper<Integer> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateSequential(helper, spliterator); }
@Override public <P_IN> Long evaluateParallel(PipelineHelper<Integer> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateParallel(helper, spliterator); }
@Override public <P_IN> Long evaluateSequential(PipelineHelper<Long> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateSequential(helper, spliterator); }
@Override public <P_IN> Long evaluateSequential(PipelineHelper<T> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateSequential(helper, spliterator); }
@Override public <P_IN> Long evaluateSequential(PipelineHelper<Integer> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateSequential(helper, spliterator); }
@Override public <P_IN> Long evaluateSequential(PipelineHelper<Long> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateSequential(helper, spliterator); }
@Override public <P_IN> O evaluateParallel(PipelineHelper<T> helper, Spliterator<P_IN> spliterator) { // This takes into account the upstream ops flags and the terminal // op flags and therefore takes into account findFirst or findAny boolean mustFindFirst = StreamOpFlag.ORDERED.isKnown(helper.getStreamAndOpFlags()); return new FindTask<>(this, mustFindFirst, helper, spliterator).invoke(); } }
@Override public <P_IN> Long evaluateSequential(PipelineHelper<Double> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateSequential(helper, spliterator); }
@Override public final long getExactSizeIfKnown() { init(); return StreamOpFlag.SIZED.isKnown(ph.getStreamAndOpFlags()) ? spliterator.getExactSizeIfKnown() : -1; }
@Override public <P_IN> Long evaluateParallel(PipelineHelper<Long> helper, Spliterator<P_IN> spliterator) { if (StreamOpFlag.SIZED.isKnown(helper.getStreamAndOpFlags())) return spliterator.getExactSizeIfKnown(); return super.evaluateParallel(helper, spliterator); }