LLVM 19.0.0git
Classes | Public Types | Public Member Functions | List of all members
llvm::SuccIterator< InstructionT, BlockT > Class Template Reference

#include "llvm/IR/CFG.h"

Inheritance diagram for llvm::SuccIterator< InstructionT, BlockT >:
Inheritance graph
[legend]

Public Types

using difference_type = int
 
using pointer = BlockT *
 
using reference = BlockT *
 
- Public Types inherited from llvm::iterator_facade_base< SuccIterator< InstructionT, BlockT >, std::random_access_iterator_tag, BlockT, int, BlockT *, BlockT * >
using iterator_category = std::random_access_iterator_tag
 
using value_type = BlockT
 
using difference_type = int
 
using pointer = BlockT *
 
using reference = BlockT *
 

Public Member Functions

 SuccIterator (InstructionT *Inst)
 
 SuccIterator (InstructionT *Inst, bool)
 
int getSuccessorIndex () const
 This is used to interface between code that wants to operate on terminator instructions directly.
 
bool operator== (const Self &x) const
 
BlockT * operator* () const
 
BlockT * operator-> () const
 
bool operator< (const Self &RHS) const
 
int operator- (const Self &RHS) const
 
Self & operator+= (int RHS)
 
Self & operator-= (int RHS)
 
SuccessorProxy operator[] (int Offset)
 
BlockT * getSource ()
 Get the source BlockT of this iterator.
 
- Public Member Functions inherited from llvm::iterator_facade_base< SuccIterator< InstructionT, BlockT >, std::random_access_iterator_tag, BlockT, int, BlockT *, BlockT * >
SuccIterator< InstructionT, BlockT > operator+ (int n) const
 
SuccIterator< InstructionT, BlockT > operator- (int n) const
 
SuccIterator< InstructionT, BlockT > & operator++ ()
 
SuccIterator< InstructionT, BlockT > operator++ (int)
 
SuccIterator< InstructionT, BlockT > & operator-- ()
 
SuccIterator< InstructionT, BlockT > operator-- (int)
 
bool operator!= (const SuccIterator< InstructionT, BlockT > &RHS) const
 
bool operator> (const SuccIterator< InstructionT, BlockT > &RHS) const
 
bool operator<= (const SuccIterator< InstructionT, BlockT > &RHS) const
 
bool operator>= (const SuccIterator< InstructionT, BlockT > &RHS) const
 
PointerProxy operator-> () const
 
ReferenceProxy operator[] (int n) const
 

Additional Inherited Members

- Protected Types inherited from llvm::iterator_facade_base< SuccIterator< InstructionT, BlockT >, std::random_access_iterator_tag, BlockT, int, BlockT *, BlockT * >
enum  
 

Detailed Description

template<class InstructionT, class BlockT>
class llvm::SuccIterator< InstructionT, BlockT >

Definition at line 138 of file CFG.h.

Member Typedef Documentation

◆ difference_type

template<class InstructionT , class BlockT >
using llvm::SuccIterator< InstructionT, BlockT >::difference_type = int

Definition at line 143 of file CFG.h.

◆ pointer

template<class InstructionT , class BlockT >
using llvm::SuccIterator< InstructionT, BlockT >::pointer = BlockT *

Definition at line 144 of file CFG.h.

◆ reference

template<class InstructionT , class BlockT >
using llvm::SuccIterator< InstructionT, BlockT >::reference = BlockT *

Definition at line 145 of file CFG.h.

Constructor & Destructor Documentation

◆ SuccIterator() [1/2]

template<class InstructionT , class BlockT >
llvm::SuccIterator< InstructionT, BlockT >::SuccIterator ( InstructionT *  Inst)
inlineexplicit

Definition at line 182 of file CFG.h.

References Idx.

◆ SuccIterator() [2/2]

template<class InstructionT , class BlockT >
llvm::SuccIterator< InstructionT, BlockT >::SuccIterator ( InstructionT *  Inst,
bool   
)
inline

Definition at line 184 of file CFG.h.

References Idx.

Member Function Documentation

◆ getSource()

template<class InstructionT , class BlockT >
BlockT * llvm::SuccIterator< InstructionT, BlockT >::getSource ( )
inline

Get the source BlockT of this iterator.

Definition at line 236 of file CFG.h.

References assert().

◆ getSuccessorIndex()

template<class InstructionT , class BlockT >
int llvm::SuccIterator< InstructionT, BlockT >::getSuccessorIndex ( ) const
inline

This is used to interface between code that wants to operate on terminator instructions directly.

Definition at line 199 of file CFG.h.

References Idx.

◆ operator*()

template<class InstructionT , class BlockT >
BlockT * llvm::SuccIterator< InstructionT, BlockT >::operator* ( ) const
inline

Definition at line 203 of file CFG.h.

References Idx.

Referenced by llvm::SuccIterator< InstructionT, BlockT >::operator->().

◆ operator+=()

template<class InstructionT , class BlockT >
Self & llvm::SuccIterator< InstructionT, BlockT >::operator+= ( int  RHS)
inline

Definition at line 218 of file CFG.h.

References assert(), Idx, and RHS.

Referenced by llvm::SuccIterator< InstructionT, BlockT >::operator-=().

◆ operator-()

template<class InstructionT , class BlockT >
int llvm::SuccIterator< InstructionT, BlockT >::operator- ( const Self &  RHS) const
inline

Definition at line 213 of file CFG.h.

References assert(), Idx, and RHS.

◆ operator-=()

template<class InstructionT , class BlockT >
Self & llvm::SuccIterator< InstructionT, BlockT >::operator-= ( int  RHS)
inline

Definition at line 225 of file CFG.h.

References llvm::SuccIterator< InstructionT, BlockT >::operator+=(), and RHS.

◆ operator->()

template<class InstructionT , class BlockT >
BlockT * llvm::SuccIterator< InstructionT, BlockT >::operator-> ( ) const
inline

Definition at line 206 of file CFG.h.

References llvm::SuccIterator< InstructionT, BlockT >::operator*().

◆ operator<()

template<class InstructionT , class BlockT >
bool llvm::SuccIterator< InstructionT, BlockT >::operator< ( const Self &  RHS) const
inline

Definition at line 208 of file CFG.h.

References assert(), Idx, and RHS.

◆ operator==()

template<class InstructionT , class BlockT >
bool llvm::SuccIterator< InstructionT, BlockT >::operator== ( const Self &  x) const
inline

Definition at line 201 of file CFG.h.

References Idx.

◆ operator[]()

template<class InstructionT , class BlockT >
SuccessorProxy llvm::SuccIterator< InstructionT, BlockT >::operator[] ( int  Offset)
inline

Definition at line 229 of file CFG.h.

References llvm::Offset.


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