#include "boolean.h"
#include "orderpair.h"
-class Order {
- public:
+class Order{
+public:
Order(OrderType type, Set *set);
- ~Order();
+ virtual ~Order();
OrderType type;
Set *set;
- HashTableOrderPair *orderPairTable;
- HashSetOrderElement* elementTable;
OrderGraph *graph;
+ Order *clone(CSolver *solver, CloneMap *map);
+ void serialize(Serializer *serializer );
Vector<BooleanOrder *> constraints;
- OrderEncoding order;
- void initializeOrderHashTable();
- void initializeOrderElementsHashTable();
+ OrderEncoding encoding;
+ void setOrderResolver(OrderResolver *_resolver) { ASSERT(encoding.resolver == NULL); encoding.resolver = _resolver;};
+ void initializeOrderElementsHashtable();
void addOrderConstraint(BooleanOrder *constraint);
void setOrderEncodingType(OrderEncodingType type);
- MEMALLOC;
+ HashtableOrderPair* getOrderPairTable();
+ CMEMALLOC;
};
#endif