GEGELATI
Loading...
Searching...
No Matches
tpgAction.h
1
38#ifndef TPG_ACTION_H
39#define TPG_ACTION_H
40
41#include <cstdint>
42
43#include "program/program.h"
44#include "tpg/tpgActionEdge.h"
45#include "tpg/tpgVertex.h"
46
47namespace TPG {
54 class TPGAction : public TPGVertex
55 {
56
63 const uint64_t actionID;
64
65 public:
71 TPGAction(const uint64_t id) : TPGVertex(), actionID{id} {};
72
79 virtual void addOutgoingEdge(TPGEdge* edge) override;
80
87 virtual TPG::TPGActionEdge* getEdgeOfAction(uint64_t actionClass) const;
88
94 uint64_t getActionID() const
95 {
96 return this->actionID;
97 };
98
103 void orderActionEdges();
104 };
105}; // namespace TPG
106
107#endif
Class representing ActionEdges of the Tangled Program Graphs.
Definition tpgActionEdge.h:61
Class representing an Action of a TPGGraph.
Definition tpgAction.h:55
void orderActionEdges()
Order the actionEdges of the action depending on the actionClass of the edges.
Definition tpgAction.cpp:52
TPGAction(const uint64_t id)
Main constructor of a TPGAction.
Definition tpgAction.h:71
uint64_t getActionID() const
Get the action ID associated to the TPGAction.
Definition tpgAction.h:94
virtual void addOutgoingEdge(TPGEdge *edge) override
Specialization throwing an std::runtime_exception.
Definition tpgAction.cpp:41
virtual TPG::TPGActionEdge * getEdgeOfAction(uint64_t actionClass) const
Return the action edge corresponding to the action class.
Definition tpgAction.cpp:67
Class representing edges of the Tangled Program Graphs.
Definition tpgEdge.h:54
Abstract class representing the vertices of a TPGGraph.
Definition tpgVertex.h:55
Definition executionStats.h:44