protected override IStream <TOut> CreateOutputStream(SelectArgs <TIn, TOut> args) { IPushObservable <TOut> obs = args.Stream.Observable.Map(WrapSelectForDisposal <TIn, TOut>(args.Processor.ProcessRow)); if (args.ExcludeNull) { obs = obs.Filter(i => i != null); } return(base.CreateUnsortedStream(obs)); }
protected override IStream <TOut> CreateOutputStream(SelectArgs <TIn, TOut> args) { IPushObservable <TOut> obs; if (args.IndexSelector == null) { obs = args.Stream.Observable.Map(WrapSelectForDisposal(args.Selector)); } else { obs = args.Stream.Observable.Map(WrapSelectIndexForDisposal(args.IndexSelector)); } if (args.ExcludeNull) { obs = obs.Filter(i => i != null); } return(base.CreateUnsortedStream(obs)); }
protected override IStream <TOut> CreateOutputStream(SelectArgs <TIn, TOut> args) { IPushObservable <TOut> obs = args.Stream.Observable.Map(WrapSelectForDisposal <TIn, TOut>(args.Processor.ProcessRow, args.WithNoDispose)); return(base.CreateUnsortedStream(obs)); }
public SelectStreamNode(string name, SelectArgs <TIn, TOut> args) : base(name, args) { }