示例#1
0
        private static bool runCommand(ref ReferenceSet <Key> set, Key[] domain, Command cmd)
        {
            switch (cmd.type)
            {
            case CmdType.CREATE:
                set = new ReferenceSet <Key>((int)cmd.arg);
                break;

            case CmdType.ADD:
                return(set.add(domain[(int)cmd.arg]));

            case CmdType.DEL:
                return(set.delete(domain[(int)cmd.arg]));

            case CmdType.CLEAR:
                set.clear();
                break;

            case CmdType.UNION:
                set.unionWith(makeSet(domain, (IEnumerable <int>)cmd.arg));
                break;

            case CmdType.INTERSECT:
                set.intersectWith(makeSet(domain, (IEnumerable <int>)cmd.arg));
                break;
            }
            return(true);
        }