Merge
[satune.git] / src / AST / order.h
index 164578630697960e54f045cff417ed3fc80b2736..b8ca724b3c33d2747ea9cb505d3ce34203e67256 100644 (file)
@@ -8,22 +8,23 @@
 #include "boolean.h"
 #include "orderpair.h"
 
-class Order {
- public:
+class Order{
+public:
        Order(OrderType type, Set *set);
-       ~Order();
+       virtual ~Order();
        OrderType type;
        Set *set;
-       HashTableOrderPair *orderPairTable;
-       HashSetOrderElement* elementTable;
        OrderGraph *graph;
+       Order *clone(CSolver *solver, CloneMap *map);
+       void serialize(Serializer *serializer );
        Vector<BooleanOrder *> constraints;
-       OrderEncoding order;
-       void initializeOrderHashTable();
-       void initializeOrderElementsHashTable();
+       OrderEncoding encoding;
+       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;
 };
 
 #endif