Give vector more specific type
[satune.git] / src / Encoders / ordergraph.h
1 /* 
2  * File:   ordergraph.h
3  * Author: hamed
4  *
5  * Created on August 7, 2017, 3:42 PM
6  */
7
8 #ifndef ORDERGRAPH_H
9 #define ORDERGRAPH_H
10 #include "classlist.h"
11 #include "structs.h"
12 #include "mymemory.h"
13
14 struct OrderGraph {
15         HashSetOrderNode* nodes;
16         HashSetOrderEdge* edges;
17         Order* order;
18 };
19
20 OrderGraph* allocOrderGraph(Order *order);
21 void addOrderConstraintToOrderGraph(OrderGraph* graph, BooleanOrder* bOrder);
22 OrderNode* getOrderNodeFromOrderGraph(OrderGraph* graph, uint64_t id);
23 OrderEdge* getOrderEdgeFromOrderGraph(OrderGraph* graph, OrderNode* begin, OrderNode* end);
24 void addOrderEdge(OrderGraph* graph, OrderNode* node1, OrderNode* node2, BooleanOrder* constr);
25 void deleteOrderGraph(OrderGraph* graph);
26 OrderEdge* getInverseOrderEdge(OrderGraph* graph, OrderEdge *edge);
27 #endif /* ORDERGRAPH_H */
28