GEGELATI
Loading...
Searching...
No Matches
tpgActionEdge.h
1
39#ifndef TPG_ACTION_EDGE_H
40#define TPG_ACTION_EDGE_H
41
42#include <memory>
43
44#include "tpg/tpgEdge.h"
45
46namespace TPG {
47 // Declare class to make it usable as an attribute.
48 class TPGVertex;
49
60 class TPGActionEdge : public TPGEdge
61 {
62 public:
75 const std::shared_ptr<Program::Program> prog,
76 uint64_t actClass)
77 : TPGEdge{src, NULL, prog}, actionClass(actClass){};
78
83 const TPGVertex* getDestination() const override;
84
89 void setDestination(TPGVertex* newDestination) override;
90
96 void setActionClass(uint64_t newActionClass);
97
101 uint64_t getActionClass() const;
102
104 TPGActionEdge() = delete;
105
106 protected:
108 uint64_t actionClass;
109 };
110}; // namespace TPG
111
112#endif
Class representing ActionEdges of the Tangled Program Graphs.
Definition tpgActionEdge.h:61
TPGActionEdge(const TPGVertex *src, const std::shared_ptr< Program::Program > prog, uint64_t actClass)
Main constructor of the TPGEdge class.
Definition tpgActionEdge.h:74
TPGActionEdge()=delete
Delete the default constructor.
uint64_t actionClass
action class of the edge
Definition tpgActionEdge.h:108
void setDestination(TPGVertex *newDestination) override
Override of the tpgEdge function because there should not be destination to action edge.
Definition tpgActionEdge.cpp:44
const TPGVertex * getDestination() const override
Override of the tpgEdge function because there should not be destination to action edge.
Definition tpgActionEdge.cpp:39
uint64_t getActionClass() const
get the action class
Definition tpgActionEdge.cpp:54
void setActionClass(uint64_t newActionClass)
set a new action class
Definition tpgActionEdge.cpp:49
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