GEGELATI
tpgVertex.h
1
36#ifndef TPG_VERTEX_H
37#define TPG_VERTEX_H
38
39#include <list>
40
41namespace TPG {
42 // Declare class to make it usable as an attribute.
43 class TPGEdge;
44
49 {
50 public:
52 virtual ~TPGVertex() = default;
53
57 const std::list<TPGEdge*>& getIncomingEdges() const;
58
62 const std::list<TPGEdge*>& getOutgoingEdges() const;
63
75 virtual void addIncomingEdge(TPG::TPGEdge* edge);
76
86 virtual void removeIncomingEdge(TPG::TPGEdge* edge);
87
99 virtual void addOutgoingEdge(TPG::TPGEdge* edge);
100
110 virtual void removeOutgoingEdge(TPG::TPGEdge* edge);
111
112 protected:
118
122 std::list<TPG::TPGEdge*> incomingEdges;
123
127 std::list<TPG::TPGEdge*> outgoingEdges;
128 };
129}; // namespace TPG
130
131#endif
Class representing edges of the Tangled Program Graphs.
Definition: tpgEdge.h:51
Abstract class representing the vertices of a TPGGraph.
Definition: tpgVertex.h:49
virtual void addIncomingEdge(TPG::TPGEdge *edge)
Method to add an incoming TPGEdge to the TPGVertex.
Definition: tpgVertex.cpp:50
const std::list< TPGEdge * > & getIncomingEdges() const
Get a const reference to incoming edges of this TPGVertex.
Definition: tpgVertex.cpp:40
std::list< TPG::TPGEdge * > outgoingEdges
Set of outgoing TPGEdge of the TPGVertex.
Definition: tpgVertex.h:127
std::list< TPG::TPGEdge * > incomingEdges
Set of incoming TPGEdge of the TPGVertex.
Definition: tpgVertex.h:117
const std::list< TPGEdge * > & getOutgoingEdges() const
Get a const reference to incoming edges of this TPGVertex.
Definition: tpgVertex.cpp:45
virtual void removeOutgoingEdge(TPG::TPGEdge *edge)
Removes the given outgoing edge from the TPGVertex.
Definition: tpgVertex.cpp:80
TPGVertex()
Protected default constructor to forbid the instanciation of object of this abstract class.
Definition: tpgVertex.h:117
virtual ~TPGVertex()=default
Default polymorphic destructor.
virtual void addOutgoingEdge(TPG::TPGEdge *edge)
Method to add an outgoing TPGEdge to the TPGVertex.
Definition: tpgVertex.cpp:69
virtual void removeIncomingEdge(TPG::TPGEdge *edge)
Removes the given incoming edge from the TPGVertex.
Definition: tpgVertex.cpp:62
Definition: tpgActionInstrumented.h:8