private void StackInitializeSuffixes() { AddSuffix("COPY", new NoArgsSuffix <StackValue <T> > (() => new StackValue <T>(this))); AddSuffix("PUSH", new OneArgsSuffix <T> (toPush => InnerEnumerable.Push(toPush))); AddSuffix("POP", new NoArgsSuffix <T> (() => InnerEnumerable.Pop())); AddSuffix("PEEK", new NoArgsSuffix <T> (() => InnerEnumerable.Peek())); AddSuffix("CLEAR", new NoArgsVoidSuffix(() => InnerEnumerable.Clear())); }
private void QueueInitializeSuffixes() { AddSuffix("COPY", new NoArgsSuffix <QueueValue <T> > (() => new QueueValue <T>(this))); AddSuffix("PUSH", new OneArgsSuffix <T> (toPush => InnerEnumerable.Enqueue(toPush))); AddSuffix("POP", new NoArgsSuffix <T> (() => InnerEnumerable.Dequeue())); AddSuffix("PEEK", new NoArgsSuffix <T> (() => InnerEnumerable.Peek())); AddSuffix("CLEAR", new NoArgsVoidSuffix(() => InnerEnumerable.Clear())); }
public override void LoadDump(Dump dump) { InnerEnumerable.Clear(); List <object> values = (List <object>)dump[kOS.Safe.Dump.Items]; foreach (object item in values) { InnerEnumerable.Enqueue((T)FromPrimitive(item)); } }
public override Dump Dump() { var result = new DumpWithHeader { Header = "QUEUE of " + InnerEnumerable.Count() + " items:" }; result.Add(kOS.Safe.Dump.Items, InnerEnumerable.Cast <object>().ToList()); return(result); }
public override void LoadDump(Dump dump) { InnerEnumerable.Clear(); List <object> values = ((List <object>)dump[kOS.Safe.Dump.Items]); values.Reverse(); foreach (object item in values) { InnerEnumerable.Push((T)Structure.FromPrimitive(item)); } }
public void Push(T val) { InnerEnumerable.Enqueue(val); }
public T Pop() { return(InnerEnumerable.Dequeue()); }
public void Push(T val) { InnerEnumerable.Push(val); }
public T Pop() { return(InnerEnumerable.Pop()); }
public override IEnumerator <T> GetEnumerator() { return(InnerEnumerable.Reverse().GetEnumerator()); }
public System.Collections.Generic.IEnumerator <T> GetEnumerator() => InnerEnumerable.GetEnumerator();