|
LLVM 22.0.0git
|
Represent a node in the directed graph. More...
#include "llvm/ADT/DirectedGraph.h"
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 | |
| 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) |
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.
| using llvm::DGNode< NodeType, EdgeType >::const_iterator = typename EdgeListTy::const_iterator |
Definition at line 77 of file DirectedGraph.h.
| using llvm::DGNode< NodeType, EdgeType >::EdgeListTy = SetVector<EdgeType *> |
Definition at line 75 of file DirectedGraph.h.
| using llvm::DGNode< NodeType, EdgeType >::iterator = typename EdgeListTy::iterator |
Definition at line 76 of file DirectedGraph.h.
|
inlineexplicit |
Create a node with a single outgoing edge E.
Definition at line 80 of file DirectedGraph.h.
|
default |
|
inline |
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.
|
inline |
Definition at line 99 of file DirectedGraph.h.
|
inline |
Definition at line 98 of file DirectedGraph.h.
|
inline |
Definition at line 94 of file DirectedGraph.h.
|
inline |
Definition at line 92 of file DirectedGraph.h.
|
inline |
Clear the outgoing edges.
Definition at line 133 of file DirectedGraph.h.
|
inline |
Definition at line 95 of file DirectedGraph.h.
|
inline |
Definition at line 93 of file DirectedGraph.h.
|
inline |
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.
|
inlineprotected |
Find an edge to N.
If more than one edge exists, this will return the first one in the list of edges.
Definition at line 147 of file DirectedGraph.h.
Referenced by llvm::DGNode< DDGNode, DDGEdge >::hasEdgeTo().
|
inline |
Definition at line 97 of file DirectedGraph.h.
|
inline |
Definition at line 96 of file DirectedGraph.h.
|
inlineprotected |
Definition at line 140 of file DirectedGraph.h.
|
inlineprotected |
Definition at line 141 of file DirectedGraph.h.
|
inline |
Definition at line 127 of file DirectedGraph.h.
|
inline |
Retrieve the outgoing edges for the node.
Definition at line 126 of file DirectedGraph.h.
|
inline |
Test whether there is an edge that goes from this node to N.
Definition at line 121 of file DirectedGraph.h.
|
inlineprotected |
Definition at line 137 of file DirectedGraph.h.
|
inline |
Remove the given edge E from this node, if it exists.
Definition at line 118 of file DirectedGraph.h.
|
friend |
Definition at line 88 of file DirectedGraph.h.
|
friend |
Static polymorphism: delegate implementation (via isEqualTo) to the derived class.
Definition at line 85 of file DirectedGraph.h.
|
protected |
Definition at line 153 of file DirectedGraph.h.