LLVM: llvm::DGNode< NodeType, EdgeType > Class Template Reference (original) (raw)

Represent a node in the directed graph. More...

#include "[llvm/ADT/DirectedGraph.h](DirectedGraph%5F8h%5Fsource.html)"

Public Types
using EdgeListTy = SetVector< EdgeType * >
using iterator = typename EdgeListTy::iterator
using const_iterator = typename EdgeListTy::const_iterator
Public Member Functions
DGNode (EdgeType &E)
Create a node with a single outgoing edge E.
DGNode ()=default
DGNode (const DGNode< NodeType, EdgeType > &N)
DGNode (DGNode< NodeType, EdgeType > &&N)
DGNode< NodeType, EdgeType > & operator= (const DGNode< NodeType, EdgeType > &N)
DGNode< NodeType, EdgeType > & operator= (const DGNode< NodeType, EdgeType > &&N)
const_iterator begin () const
const_iterator end () const
iterator begin ()
iterator end ()
const EdgeType & front () const
EdgeType & front ()
const EdgeType & back () const
EdgeType & back ()
bool findEdgesTo (const NodeType &N, SmallVectorImpl< EdgeType * > &EL) const
Collect in EL, all the edges from this node to N.
bool addEdge (EdgeType &E)
Add the given edge E to this node, if it doesn't exist already.
void removeEdge (EdgeType &E)
Remove the given edge E from this node, if it exists.
bool hasEdgeTo (const NodeType &N) const
Test whether there is an edge that goes from this node to N.
const EdgeListTy & getEdges () const
Retrieve the outgoing edges for the node.
EdgeListTy & getEdges ()
void clear ()
Clear the outgoing edges.
Protected Member Functions
bool isEqualTo (const NodeType &N) const
NodeType & getDerived ()
const NodeType & getDerived () const
const_iterator findEdgeTo (const NodeType &N) const
Find an edge to N.
Friends
bool operator== (const NodeType &M, const NodeType &N)
Static polymorphism: delegate implementation (via isEqualTo) to the derived class.
bool operator!= (const NodeType &M, const NodeType &N)

template<class NodeType, class EdgeType>
class llvm::DGNode< NodeType, EdgeType >

Represent a node in the directed graph.

The node has a (possibly empty) list of outgoing edges.

Definition at line 73 of file DirectedGraph.h.

const_iterator

template<class NodeType , class EdgeType >

EdgeListTy

template<class NodeType , class EdgeType >

iterator

template<class NodeType , class EdgeType >

DGNode() [1/4]

template<class NodeType , class EdgeType >

llvm::DGNode< NodeType, EdgeType >::DGNode ( EdgeType & E) inlineexplicit

DGNode() [2/4]

template<class NodeType , class EdgeType >

DGNode() [3/4]

template<class NodeType , class EdgeType >

DGNode() [4/4]

template<class NodeType , class EdgeType >

addEdge()

template<class NodeType , class EdgeType >

back() [1/2]

template<class NodeType , class EdgeType >

EdgeType & llvm::DGNode< NodeType, EdgeType >::back ( ) inline

back() [2/2]

template<class NodeType , class EdgeType >

begin() [1/2]

template<class NodeType , class EdgeType >

begin() [2/2]

template<class NodeType , class EdgeType >

clear()

template<class NodeType , class EdgeType >

end() [1/2]

template<class NodeType , class EdgeType >

end() [2/2]

template<class NodeType , class EdgeType >

findEdgesTo()

template<class NodeType , class EdgeType >

findEdgeTo()

template<class NodeType , class EdgeType >

front() [1/2]

template<class NodeType , class EdgeType >

EdgeType & llvm::DGNode< NodeType, EdgeType >::front ( ) inline

front() [2/2]

template<class NodeType , class EdgeType >

getDerived() [1/2]

template<class NodeType , class EdgeType >

NodeType & llvm::DGNode< NodeType, EdgeType >::getDerived ( ) inlineprotected

getDerived() [2/2]

template<class NodeType , class EdgeType >

const NodeType & llvm::DGNode< NodeType, EdgeType >::getDerived ( ) const inlineprotected

getEdges() [1/2]

template<class NodeType , class EdgeType >

getEdges() [2/2]

template<class NodeType , class EdgeType >

hasEdgeTo()

template<class NodeType , class EdgeType >

isEqualTo()

template<class NodeType , class EdgeType >

operator=() [1/2]

template<class NodeType , class EdgeType >

operator=() [2/2]

template<class NodeType , class EdgeType >

removeEdge()

template<class NodeType , class EdgeType >

void llvm::DGNode< NodeType, EdgeType >::removeEdge ( EdgeType & E) inline

operator!=

template<class NodeType , class EdgeType >

operator==

template<class NodeType , class EdgeType >

Static polymorphism: delegate implementation (via isEqualTo) to the derived class.

Definition at line 97 of file DirectedGraph.h.

Edges

template<class NodeType , class EdgeType >

Definition at line 165 of file DirectedGraph.h.

Referenced by llvm::DGNode< NodeType, EdgeType >::addEdge(), llvm::DGNode< NodeType, EdgeType >::back(), llvm::DGNode< NodeType, EdgeType >::begin(), llvm::DGNode< NodeType, EdgeType >::clear(), llvm::DGNode< NodeType, EdgeType >::DGNode(), llvm::DGNode< NodeType, EdgeType >::end(), llvm::DGNode< NodeType, EdgeType >::findEdgesTo(), llvm::DGNode< NodeType, EdgeType >::findEdgeTo(), llvm::DGNode< NodeType, EdgeType >::front(), llvm::DGNode< NodeType, EdgeType >::getEdges(), llvm::DGNode< NodeType, EdgeType >::hasEdgeTo(), llvm::DGNode< NodeType, EdgeType >::operator=(), and llvm::DGNode< NodeType, EdgeType >::removeEdge().


The documentation for this class was generated from the following file: