@Override public <C extends PersistentCollection<T>, R> ReactiveSeq<R> groupedUntil(final BiPredicate<C, ? super T> predicate, final Supplier<C> factory, Function<? super C, ? extends R> finalizer) { return this.<R>createSeq(new GroupedStatefullyOperator<>(source, factory, finalizer, predicate)); }
@Override public ReactiveSeq<Vector<T>> groupedUntil(final BiPredicate<Vector<? super T>, ? super T> predicate) { return createSeq(new GroupedStatefullyOperator<>(source, () -> Vector.empty(), Function.identity(), predicate)); }
@Override public <C extends PersistentCollection<T>, R> ReactiveSeq<R> groupedWhile(final BiPredicate<C, ? super T> predicate, final Supplier<C> factory, Function<? super C, ? extends R> finalizer) { return this.<R>createSeq(new GroupedStatefullyOperator<>(source, factory, finalizer, predicate.negate())); }
@Override public ReactiveSeq<Vector<T>> groupedWhile(final BiPredicate<Vector<? super T>, ? super T> predicate) { return createSeq(new GroupedStatefullyOperator<>(source, () -> Vector.empty(), Function.identity(), predicate.negate())); }
@Override public <C extends PersistentCollection<T>, R> ReactiveSeq<R> groupedUntil(final BiPredicate<C, ? super T> predicate, final Supplier<C> factory, Function<? super C, ? extends R> finalizer) { return this.<R>createSeq(new GroupedStatefullyOperator<>(source, factory, finalizer, predicate)); }
@Override public ReactiveSeq<Vector<T>> groupedUntil(final BiPredicate<Vector<? super T>, ? super T> predicate) { return createSeq(new GroupedStatefullyOperator<>(source, () -> Vector.empty(), Function.identity(), predicate)); }
@Override public <C extends PersistentCollection<T>, R> ReactiveSeq<R> groupedWhile(final BiPredicate<C, ? super T> predicate, final Supplier<C> factory, Function<? super C, ? extends R> finalizer) { return this.<R>createSeq(new GroupedStatefullyOperator<>(source, factory, finalizer, predicate.negate())); }
@Override public ReactiveSeq<Vector<T>> groupedWhile(final BiPredicate<Vector<? super T>, ? super T> predicate) { return createSeq(new GroupedStatefullyOperator<>(source, () -> Vector.empty(), Function.identity(), predicate.negate())); }