5 * Created on August 7, 2017, 3:42 PM
10 #include "classlist.h"
16 OrderGraph(Order *order);
18 void addOrderConstraintToOrderGraph(BooleanOrder *bOrder);
19 void addMustOrderConstraintToOrderGraph(BooleanOrder *bOrder);
20 OrderNode *getOrderNodeFromOrderGraph(uint64_t id);
21 OrderEdge *getOrderEdgeFromOrderGraph(OrderNode *begin, OrderNode *end);
22 OrderNode *lookupOrderNodeFromOrderGraph(uint64_t id);
23 OrderEdge *lookupOrderEdgeFromOrderGraph(OrderNode *begin, OrderNode *end);
24 void addOrderEdge(OrderNode *node1, OrderNode *node2, BooleanOrder *constr);
25 void addMustOrderEdge(OrderNode *node1, OrderNode *node2, BooleanOrder *constr);
26 OrderEdge *getInverseOrderEdge(OrderEdge *edge);
27 Order *getOrder() {return order;}
28 HSIteratorOrderNode *getNodes() {return nodes->iterator();}
29 HSIteratorOrderEdge *getEdges() {return edges->iterator();}
33 HashSetOrderNode *nodes;
34 HashSetOrderEdge *edges;
38 OrderGraph *buildOrderGraph(Order *order);
39 OrderGraph *buildMustOrderGraph(Order *order);
40 #endif/* ORDERGRAPH_H */