X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=src%2FAST%2Forder.h;h=b8ca724b3c33d2747ea9cb505d3ce34203e67256;hb=80c81c7a3aeeb577e3c4f514b964e5c84ac6c658;hp=164578630697960e54f045cff417ed3fc80b2736;hpb=9cd058c2fb9e7e9dae580d2d8abb84b97e4bf96a;p=satune.git diff --git a/src/AST/order.h b/src/AST/order.h index 1645786..b8ca724 100644 --- a/src/AST/order.h +++ b/src/AST/order.h @@ -8,22 +8,23 @@ #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 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