|
ROSE
0.9.6a
|
#include <SimpleDirectedGraph.h>

Public Types | |
| enum | TraverseDirection { FORWARD = 1, BACKWARD = 2, FORWARD = 1, BACKWARD = 2 } |
| This enum determines which direction to travel during a reachability pass. More... | |
| enum | TraverseDirection { FORWARD = 1, BACKWARD = 2, FORWARD = 1, BACKWARD = 2 } |
| This enum determines which direction to travel during a reachability pass. More... | |
Public Member Functions | |
| ~SimpleDirectedGraph () | |
| std::set < SimpleDirectedGraphNode * > | getNodes () |
| get all the nodes in the graph More... | |
| virtual void | addNode (SimpleDirectedGraphNode *node) |
| Add a node to the graph. More... | |
| virtual void | addLink (SimpleDirectedGraphNode *from, SimpleDirectedGraphNode *to) |
| Add a link to the graph between "from" and to "to". More... | |
| bool | nodeExists (SimpleDirectedGraphNode *node) |
| Check if a node containing data is in the graph. More... | |
| bool | linkExists (SimpleDirectedGraphNode *from, SimpleDirectedGraphNode *to) |
| Check if a dependence is in the graph. More... | |
| void | printGraph () |
| virtual void | writeDot (char *filename) |
| std::set < SimpleDirectedGraphNode * > | getReachable (SimpleDirectedGraphNode *start, TraverseDirection dir) |
| SimpleDirectedGraph () | |
| virtual | ~SimpleDirectedGraph () |
| std::set < SimpleDirectedGraphNode * > | getNodes () |
| get all the nodes in the graph More... | |
| virtual void | addNode (SimpleDirectedGraphNode *node) |
| Add a node to the graph. More... | |
| virtual void | removeNode (SimpleDirectedGraphNode *node) |
| virtual void | removeLink (SimpleDirectedGraphNode *from, SimpleDirectedGraphNode *to) |
| Remove a linkt between "from" and "to". More... | |
| virtual void | addLink (SimpleDirectedGraphNode *from, SimpleDirectedGraphNode *to) |
| Add a link to the graph between "from" and to "to". More... | |
| bool | nodeExists (SimpleDirectedGraphNode *node) |
| Check if a node containing data is in the graph. More... | |
| bool | linkExists (SimpleDirectedGraphNode *from, SimpleDirectedGraphNode *to) |
| Check if a dependence is in the graph. More... | |
| void | printGraph () |
| virtual void | writeDot (char *filename) |
| std::set < SimpleDirectedGraphNode * > | getReachable (SimpleDirectedGraphNode *start, TraverseDirection dir) |
Protected Member Functions | |
| virtual void | _displayData (SimpleDirectedGraphNode *node, std::ostream &os) |
| virtual void | _displayData (SimpleDirectedGraphNode *node, std::ostream &os) |
Protected Attributes | |
| std::set < SimpleDirectedGraphNode * > | _nodes |
This provides some simple support mechanisms to create a graph of SimpleDirectedGraphNodes.
Definition at line 78 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
This enum determines which direction to travel during a reachability pass.
| Enumerator | |
|---|---|
| FORWARD |
Reachability via successor edges |
| BACKWARD |
Reachability via predecessor edges |
| FORWARD |
Reachability via successor edges |
| BACKWARD |
Reachability via predecessor edges |
Definition at line 174 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
This enum determines which direction to travel during a reachability pass.
| Enumerator | |
|---|---|
| FORWARD |
Reachability via successor edges |
| BACKWARD |
Reachability via predecessor edges |
| FORWARD |
Reachability via successor edges |
| BACKWARD |
Reachability via predecessor edges |
Definition at line 199 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
|
inline |
Definition at line 82 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
|
inline |
Definition at line 87 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
|
inlinevirtual |
Definition at line 89 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
|
inline |
get all the nodes in the graph
Definition at line 85 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
References _nodes.
|
inlinevirtual |
Add a node to the graph.
Definition at line 88 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
References _nodes.
|
inlinevirtual |
Add a link to the graph between "from" and to "to".
Definition at line 93 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
References SimpleDirectedGraphNode::addPredecessor(), and SimpleDirectedGraphNode::addSuccessor().
|
inline |
Check if a node containing data is in the graph.
Definition at line 102 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
References _nodes.
|
inline |
Check if a dependence is in the graph.
Definition at line 107 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
References SimpleDirectedGraphNode::hasSuccessor().
|
inline |
Definition at line 111 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
References _displayData(), and _nodes.
|
inlinevirtual |
Reimplemented in DependenceGraph, and DependenceGraph.
Definition at line 133 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
References _displayData(), _nodes, and SimpleDirectedGraphNode::getSuccessors().
|
inline |
Definition at line 180 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
References BACKWARD, FORWARD, SimpleDirectedGraphNode::getPredecessors(), and SimpleDirectedGraphNode::getSuccessors().
|
inlineprotectedvirtual |
This virtual function can be overriden to control how data is presented by printGraph(). It defaults to simply outputting the data onto os.
Reimplemented in DominatorTreesAndDominanceFrontiers::ControlFlowGraph, and DominatorTreesAndDominanceFrontiers::ControlFlowGraph.
Definition at line 233 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
References SimpleDirectedGraphNode::writeOut().
Referenced by printGraph(), and writeDot().
|
inline |
get all the nodes in the graph
Definition at line 92 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
References _nodes.
|
inlinevirtual |
Add a node to the graph.
Definition at line 95 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
References _nodes.
|
inlinevirtual |
Definition at line 98 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
References _nodes.
|
inlinevirtual |
Remove a linkt between "from" and "to".
Definition at line 105 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
References SimpleDirectedGraphNode::removePredecessor(), and SimpleDirectedGraphNode::removeSuccessor().
|
inlinevirtual |
Add a link to the graph between "from" and to "to".
Definition at line 115 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
References SimpleDirectedGraphNode::addPredecessor(), and SimpleDirectedGraphNode::addSuccessor().
|
inline |
Check if a node containing data is in the graph.
Definition at line 127 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
References _nodes.
|
inline |
Check if a dependence is in the graph.
Definition at line 132 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
References SimpleDirectedGraphNode::hasSuccessor().
|
inline |
Definition at line 136 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
References _displayData(), and _nodes.
|
inlinevirtual |
Reimplemented in DependenceGraph, and DependenceGraph.
Definition at line 158 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
References _displayData(), _nodes, and SimpleDirectedGraphNode::getSuccessors().
|
inline |
Definition at line 205 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
References BACKWARD, FORWARD, SimpleDirectedGraphNode::getPredecessors(), and SimpleDirectedGraphNode::getSuccessors().
|
inlineprotectedvirtual |
This virtual function can be overriden to control how data is presented by printGraph(). It defaults to simply outputting the data onto os.
Reimplemented in DominatorTreesAndDominanceFrontiers::ControlFlowGraph, and DominatorTreesAndDominanceFrontiers::ControlFlowGraph.
Definition at line 258 of file staticInterproceduralSlicing/SimpleDirectedGraph.h.
References SimpleDirectedGraphNode::writeOut().
|
protected |
Definition at line 237 of file dominatorTreesAndDominanceFrontiers/SimpleDirectedGraph.h.
Referenced by addNode(), getNodes(), nodeExists(), printGraph(), removeNode(), and writeDot().