#define CYCLEGRAPH_H
#include "hashtable.h"
-#include "action.h"
#include <vector>
#include <inttypes.h>
class CycleNode;
+class ModelAction;
/** @brief A graph of Model Actions for tracking cycles. */
class CycleGraph {
private:
CycleNode * getNode(ModelAction *);
- HashTable<class ModelAction *, class CycleNode *, uintptr_t, 4> actionToNode;
+ HashTable<ModelAction *, CycleNode *, uintptr_t, 4> actionToNode;
bool checkReachable(CycleNode *from, CycleNode *to);
-
+
bool hasCycles;
};
public:
CycleNode(ModelAction *action);
void addEdge(CycleNode * node);
- std::vector<class CycleNode *> * getEdges();
+ std::vector<CycleNode *> * getEdges();
private:
ModelAction *action;
- std::vector<class CycleNode *> edges;
+ std::vector<CycleNode *> edges;
};
#endif