public static StripeItem OLO(StripeItem item, Stream o, Stream i) { item.Stripe.CallProcedure(item, o, i, item.Current); return null; }
public StripeItem CallProcedure(StripeItem item, Stream output, Stream input, byte index) { if (!Procedures.ContainsKey(index)) throw new BrainfuckProcedureCallException(index); if (item == null) throw new ArgumentNullException("item"); if (output == null) throw new ArgumentNullException("output"); if (!output.CanWrite) throw new InvalidOperationException("output must support writing"); if (!input.CanRead) throw new InvalidOperationException("input must support reading"); return Procedures[index](item, output, input); }