Template Class GraphAccessTemplate#

Inheritance Relationships#

Base Type#

Derived Types#

Class Documentation#

template<class NodeImpl, class EdgeImpl>
class GraphAccessTemplate : public GraphAccess#

Subclassed by GraphAccessWrapTemplate< GraphAccessInterface::Node, GraphAccessInterface::Edge, GraphAccessTemplate< Node, DepInfoEdge > >, VirtualGraphCreateTemplate< Node, Edge >, VirtualGraphCreateTemplate< CompSliceDepGraphNode, DepInfoEdge >, VirtualGraphCreateTemplate< MultiGraphElemTemplate< SelfInfo >, MultiGraphElemTemplate< RelInfo > >, VirtualGraphCreateTemplate< Node, CFGEdgeImpl >, VirtualGraphCreateTemplate< Node, MultiGraphElem >, VirtualGraphCreateTemplate< CFGNodeImpl, CFGEdgeImpl >, VirtualGraphCreateTemplate< DefUseChainNode, MultiGraphElem >, VirtualGraphCreateTemplate< DepCompAstRefGraphNode, DepInfoEdge >, VirtualGraphCreateTemplate< Node, DepInfoEdge >, VirtualGraphCreateTemplate< Node, DepInfoSetEdge >, VirtualGraphCreateTemplate< GroupGraphNode, GroupGraphEdge >, VirtualGraphCreateTemplate< LoopTreeDepGraphNode, DepInfoEdge >, VirtualGraphCreateTemplate< ReachingDefNode, CFGEdgeImpl >, VirtualGraphCreateTemplate< ValuePropagateNode, MultiGraphElem >, VirtualGraphCreateTemplate< NodeImpl, EdgeImpl >

Public Types

typedef NodeImpl Node#
typedef EdgeImpl Edge#
typedef IteratorWrap<Edge*, IteratorImpl<Edge*>> EdgeIterator#
typedef IteratorWrap<Node*, IteratorImpl<Node*>> NodeIterator#

Public Functions

inline virtual ~GraphAccessTemplate()#
virtual NodeIterator GetNodeIterator() const = 0#
virtual EdgeIterator GetNodeEdgeIterator(const Node *n, EdgeDirection dir) const = 0#
virtual Node *GetEdgeEndPoint(const Edge *e, EdgeDirection dir) const = 0#
virtual bool ContainNode(const Node *n) const = 0#
virtual bool ContainEdge(const Edge *e) const = 0#
inline virtual std::string nodeToString(Node *n) const#
inline virtual std::string edgeToString(Edge *n) const#