Bug fix: typos
[satune.git] / src / AST / order.h
1 #ifndef ORDER_H
2 #define ORDER_H
3 #include "classlist.h"
4 #include "mymemory.h"
5 #include "structs.h"
6 #include "ops.h"
7 #include "orderencoding.h"
8 #include "boolean.h"
9 #include "orderpair.h"
10
11 class Order {
12 public:
13         Order(OrderType type, Set *set);
14         virtual ~Order();
15         OrderType type;
16         Set *set;
17         OrderGraph *graph;
18         OrderEncoding encoding;
19         Order *clone(CSolver *solver, CloneMap *map);
20         void serialize(Serializer *serializer );
21         void print();
22         void setOrderResolver(OrderResolver *_resolver) { ASSERT(encoding.resolver == NULL); encoding.resolver = _resolver;}
23         void initializeOrderElementsHashtable();
24         void addOrderConstraint(BooleanOrder *constraint);
25         void setOrderEncodingType(OrderEncodingType type);
26         HashtableOrderPair *getOrderPairTable();
27         CMEMALLOC;
28 private:
29         Hashset64Int useditems;
30         Vector<BooleanOrder *> constraints;
31 public:
32         Vector<BooleanOrder *> *getConstraints() {return &constraints;}
33         uint getNumUsed() {return constraints.getSize();}
34         SetIterator64Int *getUsedIterator() {return useditems.iterator();}
35
36 };
37
38 #endif