Change dependences
[satune.git] / src / AST / order.h
index 08bc2a776e2c82a454fa1c6c746ec8736aeb82a6..ea2de5eea72a50e19330401313a21cacbb1b9747 100644 (file)
@@ -4,12 +4,26 @@
 #include "mymemory.h"
 #include "structs.h"
 #include "ops.h"
-struct Order {
-    enum OrderType type;
-    Set * set;
-    VectorBoolean* constraints;
+#include "orderencoding.h"
+#include "boolean.h"
+#include "orderpair.h"
+
+class Order {
+public:
+       Order(OrderType type, Set *set);
+       ~Order();
+       OrderType type;
+       Set *set;
+       HashTableOrderPair *orderPairTable;
+       OrderGraph *graph;
+       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(enum OrderType type, Set * set);
-Boolean* getOrderConstraint(Order* order,uint64_t first, uint64_t second);
 #endif