Give vector more specific type
[satune.git] / src / Encoders / ordernode.h
1
2 /* 
3  * File:   ordernode.h
4  * Author: hamed
5  *
6  * Created on August 7, 2017, 3:43 PM
7  */
8
9 #ifndef ORDERNODE_H
10 #define ORDERNODE_H
11
12 #include "classlist.h"
13 #include "mymemory.h"
14 #include "structs.h"
15 #include "orderedge.h"
16
17 enum NodeStatus {NOTVISITED, VISITED, FINISHED};
18 typedef enum NodeStatus NodeStatus;
19
20 struct OrderNode {
21         uint64_t id;
22         HashSetOrderEdge* inEdges;
23         HashSetOrderEdge* outEdges;
24         NodeStatus status;
25         uint sccNum;
26 };
27
28 OrderNode* allocOrderNode(uint64_t id);
29 void addNewIncomingEdge(OrderNode* node, OrderEdge* edge);
30 void addNewOutgoingEdge(OrderNode* node, OrderEdge* edge);
31 void deleteOrderNode(OrderNode* node);
32
33 #endif /* ORDERNODE_H */
34