Template Class VirtualGraphCreateTemplate#
Defined in File VirtualGraphCreate.h
Nested Relationships#
Nested Types#
Inheritance Relationships#
Base Types#
public MultiGraphCreate(Class MultiGraphCreate)public GraphAccessTemplate< NodeImpl, EdgeImpl >(Template Class GraphAccessTemplate)
Derived Types#
public CFGImplTemplate< Node, CFGEdgeImpl >(Template Class CFGImplTemplate)public CFGImplTemplate< CFGNodeImpl, CFGEdgeImpl >(Template Class CFGImplTemplate)public CFGImplTemplate< ReachingDefNode, CFGEdgeImpl >(Template Class CFGImplTemplate)public DefUseChain< DefUseChainNode >(Template Class DefUseChain)public DefUseChain< ValuePropagateNode >(Template Class DefUseChain)public DepInfoGraphCreate< CompSliceDepGraphNode >(Template Class DepInfoGraphCreate)public DepInfoGraphCreate< DepCompAstRefGraphNode >(Template Class DepInfoGraphCreate)public DepInfoGraphCreate< LoopTreeDepGraphNode >(Template Class DepInfoGraphCreate)
Class Documentation#
-
template<class NodeImpl, class EdgeImpl>
class VirtualGraphCreateTemplate : public MultiGraphCreate, public GraphAccessTemplate<NodeImpl, EdgeImpl># Subclassed by CFGImplTemplate< Node, CFGEdgeImpl >, CFGImplTemplate< CFGNodeImpl, CFGEdgeImpl >, CFGImplTemplate< ReachingDefNode, CFGEdgeImpl >, DefUseChain< DefUseChainNode >, DefUseChain< ValuePropagateNode >, DepInfoGraphCreate< CompSliceDepGraphNode >, DepInfoGraphCreate< DepCompAstRefGraphNode >, DepInfoGraphCreate< LoopTreeDepGraphNode >
Public Types
-
typedef GraphAccess::EdgeDirection EdgeDirection#
-
typedef GraphAccessTemplate<NodeImpl, EdgeImpl>::NodeIterator NodeIterator#
-
typedef GraphAccessTemplate<NodeImpl, EdgeImpl>::EdgeIterator EdgeIterator#
Public Functions
-
virtual ~VirtualGraphCreateTemplate()#
-
VirtualGraphCreateTemplate(BaseGraphCreate *_impl = 0)#
-
inline BaseGraphCreate *GetBaseGraph()#
-
BaseGraphNode *AddNode(Node *idNode)#
-
BaseGraphEdge *AddEdge(Node *idSrc, Node *idSnk, Edge *idEdge)#
-
void AddNodeSet(typename GraphAccessTemplate<NodeImpl, EdgeImpl>::NodeIterator iter)#
-
void AddGraph(const GraphAccessTemplate<NodeImpl, EdgeImpl> *dg)#
-
void MoveEdgeEndPoint(Edge *e, EdgeDirection dir, Node *n)#
-
BaseGraphNode *GetBaseNode(const Node *id) const#
-
BaseGraphEdge *GetBaseEdge(const Edge *id) const#
-
Node *GetVirtualNode(const BaseGraphNode *base) const#
-
Edge *GetVirtualEdge(const BaseGraphEdge *base) const#
-
inline bool IsBaseNode(const BaseGraphNode *n) const#
-
inline bool IsBaseEdge(const BaseGraphEdge *e) const#
-
virtual Node *GetEdgeEndPoint(const Edge *e, EdgeDirection dir) const#
-
inline virtual EdgeIterator GetNodeEdgeIterator(const Node *id, EdgeDirection dir) const#
-
inline virtual NodeIterator GetNodeIterator() const#
-
class EdgeIteratorImpl : public IteratorImpl<EdgeImpl*>#
Public Functions
-
inline EdgeIteratorImpl(const EdgeIteratorImpl &that)#
-
inline EdgeIteratorImpl &operator=(const EdgeIteratorImpl &that)#
-
inline virtual void Reset()#
-
inline virtual void Advance()#
-
inline void operator++()#
-
inline void operator++(int)#
-
inline virtual IteratorImpl<EdgeImpl*> *Clone() const#
-
inline virtual bool ReachEnd() const#
Friends
- friend class VirtualGraphCreateTemplate< NodeImpl, EdgeImpl >
-
inline EdgeIteratorImpl(const EdgeIteratorImpl &that)#
-
class NodeIteratorImpl : public IteratorImpl<NodeImpl*>#
Public Functions
-
inline NodeIteratorImpl(const NodeIteratorImpl &that)#
-
inline NodeIteratorImpl &operator=(const NodeIteratorImpl &that)#
-
inline virtual void Reset()#
-
inline virtual void Advance()#
-
inline void operator++()#
-
inline void operator++(int)#
-
inline virtual bool ReachEnd() const#
-
inline virtual IteratorImpl<NodeImpl*> *Clone() const#
Friends
- friend class VirtualGraphCreateTemplate< NodeImpl, EdgeImpl >
-
inline NodeIteratorImpl(const NodeIteratorImpl &that)#
-
typedef GraphAccess::EdgeDirection EdgeDirection#