Merge branch 'master' of ssh://demsky.eecs.uci.edu/home/git/constraint_compiler into...
[satune.git] / src / AST / order.h
index 0229982ff5b362e4effd3021ac955478aebc8d19..164578630697960e54f045cff417ed3fc80b2736 100644 (file)
@@ -5,14 +5,25 @@
 #include "structs.h"
 #include "ops.h"
 #include "orderencoding.h"
+#include "boolean.h"
+#include "orderpair.h"
 
-struct Order {
+class Order {
+ public:
+       Order(OrderType type, Set *set);
+       ~Order();
        OrderType type;
-       Set * set;
-       VectorBoolean constraints;
+       Set *set;
+       HashTableOrderPair *orderPairTable;
+       HashSetOrderElement* elementTable;
+       OrderGraph *graph;
+       Vector<BooleanOrder *> constraints;
        OrderEncoding order;
+       void initializeOrderHashTable();
+       void initializeOrderElementsHashTable();
+       void addOrderConstraint(BooleanOrder *constraint);
+       void setOrderEncodingType(OrderEncodingType type);
+       MEMALLOC;
 };
 
-Order* allocOrder(OrderType type, Set * set);
-void deleteOrder(Order* order);
 #endif