5 #include "ordergraph.h"
7 Order::Order(OrderType _type, Set *_set) : type(_type), set(_set), orderPairTable(NULL), elementTable(NULL), graph(NULL) {
8 initDefVectorBooleanOrder(&constraints);
9 initOrderEncoding(&order, this);
12 void Order::initializeOrderHashTable() {
13 orderPairTable = allocHashTableOrderPair(HT_INITIAL_CAPACITY, HT_DEFAULT_FACTOR);
16 void Order::initializeOrderElementsHashTable() {
17 elementTable = allocHashSetOrderElement(HT_INITIAL_CAPACITY, HT_DEFAULT_FACTOR);
20 void Order::addOrderConstraint(BooleanOrder *constraint) {
21 pushVectorBooleanOrder(&constraints, constraint);
24 void Order::setOrderEncodingType(OrderEncodingType type) {
29 deleteVectorArrayBooleanOrder(&constraints);
30 deleteOrderEncoding(&order);
31 if (orderPairTable != NULL) {
32 resetAndDeleteHashTableOrderPair(orderPairTable);
33 deleteHashTableOrderPair(orderPairTable);
35 if(elementTable != NULL){
36 deleteHashSetOrderElement(elementTable);
39 deleteOrderGraph(graph);