Fixing more bugs
[satune.git] / src / AST / order.h
index b164a11bb651b5903ecf38faedf63d848702304a..cc8b45e4adc7774e6b3510ef66fa80309a82ebbd 100644 (file)
@@ -2,7 +2,29 @@
 #define ORDER_H
 #include "classlist.h"
 #include "mymemory.h"
+#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;
+       HashtableOrderPair *orderPairTable;
+       OrderGraph *graph;
+       Order *clone(CSolver *solver, CloneMap *map);
+       Vector<BooleanOrder *> constraints;
+       OrderEncoding encoding;
+       void setOrderResolver(OrderResolver *_resolver) { ASSERT(encoding.resolver == NULL); encoding.resolver = _resolver;};
+       void initializeOrderHashtable();
+       void initializeOrderElementsHashtable();
+       void addOrderConstraint(BooleanOrder *constraint);
+       void setOrderEncodingType(OrderEncodingType type);
+       CMEMALLOC;
 };
+
 #endif