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 Member Functions
DGNode (EdgeType &E)
Create a node with a single outgoing edge E.
DGNode ()=default
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.
Protected Attributes
EdgeListTy Edges
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/2]

template<class NodeType, class EdgeType>

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

Create a node with a single outgoing edge E.

Definition at line 80 of file DirectedGraph.h.

DGNode() [2/2]

template<class NodeType, class EdgeType>

addEdge()

template<class NodeType, class EdgeType>

Add the given edge E to this node, if it doesn't exist already.

Returns true if the edge is added and false otherwise.

Definition at line 115 of file DirectedGraph.h.

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>

Collect in EL, all the edges from this node to N.

Return true if at least one edge was found, and false otherwise. Note that this implementation allows more than one edge to connect a given pair of nodes.

Definition at line 105 of file DirectedGraph.h.

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>

Test whether there is an edge that goes from this node to N.

Definition at line 121 of file DirectedGraph.h.

isEqualTo()

template<class NodeType, class EdgeType>

removeEdge()

template<class NodeType, class EdgeType>

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

Remove the given edge E from this node, if it exists.

Definition at line 118 of file DirectedGraph.h.

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 85 of file DirectedGraph.h.

Edges

template<class NodeType, class EdgeType>


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