@Override public <T2, T3, T4, R> ReactiveSeq<R> zip4(Iterable<? extends T2> second, Iterable<? extends T3> third, Iterable<? extends T4> fourth, Function4<? super T, ? super T2, ? super T3, ? super T4, ? extends R> fn) { return createSeq( new Zipping4Spliterator<>(get(),second.spliterator(),third.spliterator(),fourth.spliterator(),fn)); }
@Override public Spliterator<R> copy() { return new Zipping4Spliterator(CopyableSpliterator.copy(left), CopyableSpliterator.copy(middle),CopyableSpliterator.copy(middle2), CopyableSpliterator.copy(right),fn); }
public <R2> Zipping4Spliterator<T1,T2,T3,T4,R2> compose(Function<? super R,? extends R2> fn){ return new Zipping4Spliterator<>(CopyableSpliterator.copy(left),CopyableSpliterator.copy(middle),CopyableSpliterator.copy(middle2), CopyableSpliterator.copy(right), this.fn.andThen4(fn)); }
@Override public <T2, T3, T4, R> ReactiveSeq<R> zip4(Iterable<? extends T2> second, Iterable<? extends T3> third, Iterable<? extends T4> fourth, Function4<? super T, ? super T2, ? super T3, ? super T4, ? extends R> fn) { return createSeq( new Zipping4Spliterator<>(get(),second.spliterator(),third.spliterator(),fourth.spliterator(),fn)); }
@Override public Spliterator<R> copy() { return new Zipping4Spliterator(CopyableSpliterator.copy(left), CopyableSpliterator.copy(middle),CopyableSpliterator.copy(middle2), CopyableSpliterator.copy(right),fn); }
public <R2> Zipping4Spliterator<T1,T2,T3,T4,R2> compose(Function<? super R,? extends R2> fn){ return new Zipping4Spliterator<>(CopyableSpliterator.copy(left),CopyableSpliterator.copy(middle),CopyableSpliterator.copy(middle2), CopyableSpliterator.copy(right), this.fn.andThen4(fn)); }