5 #include "ordergraph.h"
7 Order::Order(OrderType _type, Set *_set) : type(_type), set(_set), orderPairTable(NULL), elementTable(NULL), graph(NULL) {
8 initOrderEncoding(&order, this);
11 void Order::initializeOrderHashTable() {
12 orderPairTable = allocHashTableOrderPair(HT_INITIAL_CAPACITY, HT_DEFAULT_FACTOR);
15 void Order::initializeOrderElementsHashTable() {
16 elementTable = allocHashSetOrderElement(HT_INITIAL_CAPACITY, HT_DEFAULT_FACTOR);
19 void Order::addOrderConstraint(BooleanOrder *constraint) {
20 constraints.push(constraint);
23 void Order::setOrderEncodingType(OrderEncodingType type) {
28 deleteOrderEncoding(&order);
29 if (orderPairTable != NULL) {
30 resetAndDeleteHashTableOrderPair(orderPairTable);
31 deleteHashTableOrderPair(orderPairTable);
33 if(elementTable != NULL){
34 deleteHashSetOrderElement(elementTable);
37 deleteOrderGraph(graph);