protected override NodeBase ReduceTerminalList(NodeBase node) { var values = node.GetTerminalValues <TIn>(); var itemsToSkip = this.count - this.itemsSkipped; var returnValue = CreateTerminal(itemsToSkip == 0 ? values : values.Skip(itemsToSkip)); this.itemsSkipped += itemsToSkip; return(returnValue); }
protected override NodeBase ReduceTerminalList(NodeBase node) { var values = node.GetTerminalValues <TIn>(); var itemsToTake = this.count - this.itemsTaken; var returnValue = CreateTerminal(itemsToTake == 0 ? values : values.Take(itemsToTake)); this.itemsTaken += itemsToTake; return(returnValue); }
protected override NodeBase ReduceTerminalList(NodeBase node) { var values = node.GetTerminalValues <TIn>().Except(this.previousValues).ToArray(); foreach (var value in values) { this.previousValues.Add(value); } return(CreateTerminal(values)); }
protected override NodeBase ReduceTerminalList(NodeBase node) { var values = node.GetTerminalValues <TIn>(); return(CreateTerminal(values.Select(this.selector))); }
protected override NodeBase ReduceTerminalList(NodeBase node) { var values = node.GetTerminalValues <TIn>(); return(CreateTerminal(values.Cast <TOut>())); }
protected override NodeBase ReduceTerminalList(NodeBase node) { var values = node.GetTerminalValues <TIn>(); return(CreateTerminal(values.Where(this.predicate))); }