encapsulate order fields
[satune.git] / src / AST / order.h
index f9bd69b5a3fdca34d6074a9c45399689ffd401bf..a9015d64c26f5a59995efdde34ccee0e8226d538 100644 (file)
 class Order {
 public:
        Order(OrderType type, Set *set);
-       ~Order();
+       virtual ~Order();
        OrderType type;
        Set *set;
-       HashTableOrderPair *orderPairTable;
        OrderGraph *graph;
+       OrderEncoding encoding;
        Order *clone(CSolver *solver, CloneMap *map);
-       Vector<BooleanOrder *> constraints;
-       OrderEncoding order;
-       void initializeOrderHashTable();
-       void initializeOrderElementsHashTable();
+       void serialize(Serializer *serializer );
+       void print();
+       void setOrderResolver(OrderResolver *_resolver) { ASSERT(encoding.resolver == NULL); encoding.resolver = _resolver;}
+       void initializeOrderElementsHashtable();
        void addOrderConstraint(BooleanOrder *constraint);
        void setOrderEncodingType(OrderEncodingType type);
-       MEMALLOC;
+       HashtableOrderPair *getOrderPairTable();
+       CMEMALLOC;
+private:
+       Hashset64Int useditems;
+       Vector<BooleanOrder *> constraints;
+public:
+       Vector<BooleanOrder *> *getConstraints() {return &constraints;}
 };
 
 #endif