LLVM API Documentation

Public Types | Public Member Functions
llvm::RNSuccIterator< NodeType, BlockT, RegionT > Class Template Reference

Hierarchical RegionNode successor iterator. More...

#include <RegionIterator.h>

Inheritance diagram for llvm::RNSuccIterator< NodeType, BlockT, RegionT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::RNSuccIterator< NodeType, BlockT, RegionT >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef RNSuccIterator
< NodeType, BlockT, RegionT > 
Self
typedef super::pointer pointer

Public Member Functions

 RNSuccIterator (NodeType *node)
 Create begin iterator of a RegionNode.
 RNSuccIterator (NodeType *node, bool)
 Create an end iterator.
bool operator== (const Self &x) const
bool operator!= (const Self &x) const
pointer operator* () const
Selfoperator++ ()
Self operator++ (int)
const Selfoperator= (const Self &I)

Detailed Description

template<class NodeType, class BlockT, class RegionT>
class llvm::RNSuccIterator< NodeType, BlockT, RegionT >

Hierarchical RegionNode successor iterator.

This iterator iterates over all successors of a RegionNode.

For a BasicBlock RegionNode it skips all BasicBlocks that are not part of the parent Region. Furthermore for BasicBlocks that start a subregion, a RegionNode representing the subregion is returned.

For a subregion RegionNode there is just one successor. The RegionNode representing the exit of the subregion.

Definition at line 34 of file RegionIterator.h.


Member Typedef Documentation

template<class NodeType, class BlockT, class RegionT>
typedef super::pointer llvm::RNSuccIterator< NodeType, BlockT, RegionT >::pointer

Definition at line 92 of file RegionIterator.h.

template<class NodeType, class BlockT, class RegionT>
typedef RNSuccIterator<NodeType, BlockT, RegionT> llvm::RNSuccIterator< NodeType, BlockT, RegionT >::Self

Definition at line 90 of file RegionIterator.h.


Constructor & Destructor Documentation

template<class NodeType, class BlockT, class RegionT>
llvm::RNSuccIterator< NodeType, BlockT, RegionT >::RNSuccIterator ( NodeType *  node) [inline]

Create begin iterator of a RegionNode.

Definition at line 95 of file RegionIterator.h.

template<class NodeType, class BlockT, class RegionT>
llvm::RNSuccIterator< NodeType, BlockT, RegionT >::RNSuccIterator ( NodeType *  node,
bool   
) [inline]

Create an end iterator.

Definition at line 109 of file RegionIterator.h.


Member Function Documentation

template<class NodeType, class BlockT, class RegionT>
bool llvm::RNSuccIterator< NodeType, BlockT, RegionT >::operator!= ( const Self x) const [inline]
template<class NodeType, class BlockT, class RegionT>
pointer llvm::RNSuccIterator< NodeType, BlockT, RegionT >::operator* ( ) const [inline]

Definition at line 123 of file RegionIterator.h.

template<class NodeType, class BlockT, class RegionT>
Self& llvm::RNSuccIterator< NodeType, BlockT, RegionT >::operator++ ( ) [inline]

Definition at line 129 of file RegionIterator.h.

References getEntry().

template<class NodeType, class BlockT, class RegionT>
Self llvm::RNSuccIterator< NodeType, BlockT, RegionT >::operator++ ( int  ) [inline]

Definition at line 143 of file RegionIterator.h.

template<class NodeType, class BlockT, class RegionT>
const Self& llvm::RNSuccIterator< NodeType, BlockT, RegionT >::operator= ( const Self I) [inline]

Definition at line 149 of file RegionIterator.h.

References getParent().

template<class NodeType, class BlockT, class RegionT>
bool llvm::RNSuccIterator< NodeType, BlockT, RegionT >::operator== ( const Self x) const [inline]

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