class Order {
public:
Order(OrderType type, Set *set);
- ~Order();
+ virtual ~Order();
OrderType type;
Set *set;
- HashtableOrderPair *orderPairTable;
OrderGraph *graph;
- Order *clone(CSolver *solver, CloneMap *map);
- Vector<BooleanOrder *> constraints;
OrderEncoding encoding;
- void setOrderResolver(OrderResolver *_resolver) { encoding.resolver = _resolver;};
- void initializeOrderHashtable();
+ Order *clone(CSolver *solver, CloneMap *map);
+ void serialize(Serializer *serializer );
+ void print();
+ void setOrderResolver(OrderResolver *_resolver) { ASSERT(encoding.resolver == NULL); encoding.resolver = _resolver;}
void initializeOrderElementsHashtable();
void addOrderConstraint(BooleanOrder *constraint);
void setOrderEncodingType(OrderEncodingType type);
+ HashtableOrderPair *getOrderPairTable();
CMEMALLOC;
+private:
+ Hashset64Int useditems;
+ Vector<BooleanOrder *> constraints;
+public:
+ Vector<BooleanOrder *> *getConstraints() {return &constraints;}
};
#endif