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()));
 }
Beispiel #2
0
        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()));
        }
Beispiel #3
0
        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));
            }
        }
Beispiel #4
0
        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));
            }
        }
Beispiel #6
0
 public void Push(T val)
 {
     InnerEnumerable.Enqueue(val);
 }
Beispiel #7
0
 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());
 }
Beispiel #11
0
 public System.Collections.Generic.IEnumerator <T> GetEnumerator() => InnerEnumerable.GetEnumerator();