LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::scc_iterator< GraphT, GT > Class Template Reference

#include <SCCIterator.h>

Inheritance diagram for llvm::scc_iterator< GraphT, GT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::scc_iterator< GraphT, GT >:
Collaboration graph
[legend]

Public Types

typedef scc_iterator< GraphT, GT > _Self
 

Public Member Functions

bool isAtEnd () const
 
bool operator== (const _Self &x) const
 
bool operator!= (const _Self &x) const
 
_Selfoperator++ ()
 
_Self operator++ (int)
 
const SccTy & operator* () const
 
SccTy & operator* ()
 
bool hasLoop () const
 
void ReplaceNode (NodeType *Old, NodeType *New)
 

Static Public Member Functions

static _Self begin (const GraphT &G)
 
static _Self end (const GraphT &)
 

Detailed Description

template<class GraphT, class GT = GraphTraits<GraphT>>
class llvm::scc_iterator< GraphT, GT >

scc_iterator - Enumerate the SCCs of a directed graph, in reverse topological order of the SCC DAG.

Definition at line 36 of file SCCIterator.h.

Member Typedef Documentation

template<class GraphT, class GT = GraphTraits<GraphT>>
typedef scc_iterator<GraphT, GT> llvm::scc_iterator< GraphT, GT >::_Self

Definition at line 138 of file SCCIterator.h.

Member Function Documentation

template<class GraphT, class GT = GraphTraits<GraphT>>
static _Self llvm::scc_iterator< GraphT, GT >::begin ( const GraphT &  G)
inlinestatic

Definition at line 141 of file SCCIterator.h.

Referenced by llvm::scc_begin().

template<class GraphT, class GT = GraphTraits<GraphT>>
static _Self llvm::scc_iterator< GraphT, GT >::end ( const GraphT &  )
inlinestatic

Definition at line 142 of file SCCIterator.h.

Referenced by llvm::scc_end().

template<class GraphT, class GT = GraphTraits<GraphT>>
bool llvm::scc_iterator< GraphT, GT >::hasLoop ( ) const
inline

Definition at line 177 of file SCCIterator.h.

template<class GraphT, class GT = GraphTraits<GraphT>>
bool llvm::scc_iterator< GraphT, GT >::isAtEnd ( ) const
inline

Definition at line 145 of file SCCIterator.h.

template<class GraphT, class GT = GraphTraits<GraphT>>
bool llvm::scc_iterator< GraphT, GT >::operator!= ( const _Self x) const
inline

Definition at line 153 of file SCCIterator.h.

References llvm::scc_iterator< GraphT, GT >::operator==().

template<class GraphT, class GT = GraphTraits<GraphT>>
const SccTy& llvm::scc_iterator< GraphT, GT >::operator* ( ) const
inline

Definition at line 165 of file SCCIterator.h.

template<class GraphT, class GT = GraphTraits<GraphT>>
SccTy& llvm::scc_iterator< GraphT, GT >::operator* ( )
inline

Definition at line 169 of file SCCIterator.h.

template<class GraphT, class GT = GraphTraits<GraphT>>
_Self& llvm::scc_iterator< GraphT, GT >::operator++ ( )
inline

Definition at line 156 of file SCCIterator.h.

template<class GraphT, class GT = GraphTraits<GraphT>>
_Self llvm::scc_iterator< GraphT, GT >::operator++ ( int  )
inline

Definition at line 160 of file SCCIterator.h.

template<class GraphT, class GT = GraphTraits<GraphT>>
bool llvm::scc_iterator< GraphT, GT >::operator== ( const _Self x) const
inline

Definition at line 150 of file SCCIterator.h.

Referenced by llvm::scc_iterator< GraphT, GT >::operator!=().

template<class GraphT, class GT = GraphTraits<GraphT>>
void llvm::scc_iterator< GraphT, GT >::ReplaceNode ( NodeType *  Old,
NodeType *  New 
)
inline

ReplaceNode - This informs the scc_iterator that the specified Old node has been deleted, and New is to be used in its place.

Definition at line 189 of file SCCIterator.h.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::count(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::erase().

Referenced by llvm::CallGraphSCC::ReplaceNode().


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