public static <T> Sequence<T> concat(Sequence<? extends Sequence<T>> sequences) { return new ConcatSequence<>(sequences); }
return makeYielder(yielderYielder, initValue, accumulator);
public <OutType> Yielder<OutType> makeYielder( Yielder<Sequence<T>> yielderYielder, OutType initValue, YieldingAccumulator<OutType, T> accumulator ) { while (!yielderYielder.isDone()) { Yielder<OutType> yielder = yielderYielder.get().toYielder(initValue, accumulator); if (accumulator.yielded()) { return wrapYielder(yielder, yielderYielder, accumulator); } initValue = yielder.get(); try { yielder.close(); } catch (IOException e) { throw Throwables.propagate(e); } yielderYielder = yielderYielder.next(null); } return Yielders.done(initValue, yielderYielder); }
public <OutType> Yielder<OutType> makeYielder( Yielder<Sequence<T>> yielderYielder, OutType initValue, YieldingAccumulator<OutType, T> accumulator ) { while (!yielderYielder.isDone()) { Yielder<OutType> yielder = yielderYielder.get().toYielder(initValue, accumulator); if (accumulator.yielded()) { return wrapYielder(yielder, yielderYielder, accumulator); } initValue = yielder.get(); try { yielder.close(); } catch (IOException e) { throw Throwables.propagate(e); } yielderYielder = yielderYielder.next(null); } return Yielders.done(initValue, yielderYielder); }
default <R> Sequence<R> flatMap(Function<? super T, ? extends Sequence<? extends R>> mapper) { return new ConcatSequence<>(this.map(mapper)); }
return makeYielder(yielderYielder.next(null), nextInit, accumulator);
SequenceTestHelper.testAccumulation( "", new ConcatSequence<Integer>((Sequence) Sequences.simple(accumulationSeqs)), Lists.newArrayList(Iterables.concat(vals)) ); SequenceTestHelper.testYield( "", new ConcatSequence<Integer>((Sequence) Sequences.simple(yieldSeqs)), Lists.newArrayList(Iterables.concat(vals)) );
return makeYielder(yielderYielder, initValue, accumulator);
public static <T> Sequence<T> concat(Sequence<? extends Sequence<T>> sequences) { return new ConcatSequence<>(sequences); }
return makeYielder(yielderYielder.next(null), nextInit, accumulator);
default <R> Sequence<R> flatMap( Function<? super T, ? extends Sequence<? extends R>> mapper ) { return new ConcatSequence<>(this.map(mapper)); }