예제 #1
0
 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()));
 }
예제 #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()));
        }
예제 #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));
            }
        }
예제 #4
0
        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));
            }
        }