@Override public final ReactiveSeq<T> filter(final Predicate<? super T> fn) { return createSeq(new FilteringSpliterator<T>(get(),fn).compose(), reversible); }
public static <T> FilteringSpliterator<T> compose(FilteringSpliterator<T> before, FilteringSpliterator<T> after){ return new FilteringSpliterator<>(before.source,((Predicate<T>)before.mapper).and(after.mapper)); } public static <T> FilteringSpliterator<T> compose(LazyFilteringSpliterator<T> before, FilteringSpliterator<T> after){
@Override public Spliterator<T> compose() { if(source instanceof FilteringSpliterator){ return compose((FilteringSpliterator)source,this); } if(source instanceof LazyFilteringSpliterator){ return compose((LazyFilteringSpliterator)source,this); } return this; } public static <T> FilteringSpliterator<T> compose(FilteringSpliterator<T> before, FilteringSpliterator<T> after){
public static <T> FilteringSpliterator<T> compose(LazyFilteringSpliterator<T> before, FilteringSpliterator<T> after){ return new FilteringSpliterator<>(before.source,((Predicate<T>)before.mapperSupplier.get()).and(after.mapper)); } }
@Override public Spliterator<T> compose() { if(source instanceof FilteringSpliterator){ return compose((FilteringSpliterator)source,this); } if(source instanceof LazyFilteringSpliterator){ return compose((LazyFilteringSpliterator)source,this); } return this; } public static <T> FilteringSpliterator<T> compose(FilteringSpliterator<T> before, FilteringSpliterator<T> after){
@Override public final ReactiveSeq<T> filter(final Predicate<? super T> fn) { return createSeq(new FilteringSpliterator<T>(get(),fn).compose(), reversible); }
@Override public Spliterator<T> copy() { return new FilteringSpliterator<T>(CopyableSpliterator.copy(source),mapper); }
public static <T> FilteringSpliterator<T> compose(FilteringSpliterator<T> before, FilteringSpliterator<T> after){ return new FilteringSpliterator<>(before.source,((Predicate<T>)before.mapper).and(after.mapper)); } public static <T> FilteringSpliterator<T> compose(LazyFilteringSpliterator<T> before, FilteringSpliterator<T> after){
public static <T> FilteringSpliterator<T> compose(LazyFilteringSpliterator<T> before, FilteringSpliterator<T> after){ return new FilteringSpliterator<>(before.source,((Predicate<T>)before.mapperSupplier.get()).and(after.mapper)); } }
@Override public Spliterator<T> copy() { return new FilteringSpliterator<T>(CopyableSpliterator.copy(source),mapper); }