public override Terminator <TReduction> Complete(TReduction reduction) { var terminator = Next.Invoke(reduction, Accumulation); return(terminator.IsTerminated ? terminator : Next.Complete(terminator.Value)); }
public void Complete() { this.IsComplete = true; if (Next != null) { Next.Complete(); } }
/// <summary> /// Called when input is exhausted. /// </summary> /// <param name="reduction">The current reduction.</param> /// <returns> /// A wrapped reduction. /// </returns> public override Terminator <TReduction> Complete(TReduction reduction) => Next.Complete(reduction);