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);
+ void serialize(Serializer *serializer );
+ void print();
Vector<BooleanOrder *> constraints;
- OrderEncoding order;
- void initializeOrderHashtable();
+ OrderEncoding encoding;
+ void setOrderResolver(OrderResolver *_resolver) { ASSERT(encoding.resolver == NULL); encoding.resolver = _resolver;};
void initializeOrderElementsHashtable();
void addOrderConstraint(BooleanOrder *constraint);
void setOrderEncodingType(OrderEncodingType type);
+ HashtableOrderPair *getOrderPairTable();
CMEMALLOC;
};