Change dependences
[satune.git] / src / AST / order.h
index c5a03a84f455b31e923867e23e1f8c4b70631cc5..ea2de5eea72a50e19330401313a21cacbb1b9747 100644 (file)
@@ -6,19 +6,24 @@
 #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;
        HashTableOrderPair *orderPairTable;
        OrderGraph *graph;
-       VectorBooleanOrder constraints;
+       Order *clone(CSolver *solver, CloneMap *map);
+       Vector<BooleanOrder *> constraints;
        OrderEncoding order;
+       void initializeOrderHashTable();
+       void initializeOrderElementsHashTable();
+       void addOrderConstraint(BooleanOrder *constraint);
+       void setOrderEncodingType(OrderEncodingType type);
+       CMEMALLOC;
 };
 
-Order *allocOrder(OrderType type, Set *set);
-void initializeOrderHashTable(Order *This);
-void addOrderConstraint(Order *This, BooleanOrder *constraint);
-void setOrderEncodingType(Order *This, OrderEncodingType type);
-void deleteOrder(Order *This);
 #endif