Class SimpleDirectedGraphNode#

Inheritance Relationships#

Derived Types#

Class Documentation#

class SimpleDirectedGraphNode#

This is a node in the directed graph. All the connectivity information for the graph is captured in this (by way of the successor and predecessor sets).

This is a much simpler graph mechanism than that provided by util/graphs. It places most of the onus of edge bookkeeping on the nodes themselves.

Subclassed by DependenceNode, DependenceNode, DominatorTreesAndDominanceFrontiers::ControlNode

Public Functions

inline virtual ~SimpleDirectedGraphNode()#
inline std::set<SimpleDirectedGraphNode*> getSuccessors()#

get the nodes which are pointed to by the current node

inline std::set<SimpleDirectedGraphNode*> getPredecessors()#

get the nodes which point to the current node

inline void addSuccessor(SimpleDirectedGraphNode *n)#

add an edge from the current node to n

inline void addPredecessor(SimpleDirectedGraphNode *n)#

add an edge from n to the current node

inline void removeSuccessor(SimpleDirectedGraphNode *n)#
inline void removePredecessor(SimpleDirectedGraphNode *n)#
inline bool hasSuccessor(SimpleDirectedGraphNode *n)#

test whether n is a successor of the current node

inline bool hasPredecessor(SimpleDirectedGraphNode *n)#

test whether n is a predecessor of the current node

inline int numSuccessors()#

return the number of outgoing edges

inline int numPredecessors()#

return the number of incoming edges

inline virtual void writeOut(std::ostream &os)#

virtual function to support displaying node information