LLVM  8.0.1
Public Member Functions | Static Public Member Functions | List of all members
llvm::SwitchInst::CaseIteratorImpl< CaseHandleT > Class Template Reference

#include "llvm/IR/Instructions.h"

Inheritance diagram for llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >:
Collaboration graph
[legend]

Public Member Functions

 CaseIteratorImpl ()=default
 Default constructed iterator is in an invalid state until assigned to a case for a particular switch. More...
 
 CaseIteratorImpl (SwitchInstT *SI, unsigned CaseNum)
 Initializes case iterator for given SwitchInst and for given case number. More...
 
 operator CaseIteratorImpl< ConstCaseHandle > () const
 Support converting to the const variant. More...
 
CaseIteratorImploperator+= (ptrdiff_t N)
 
CaseIteratorImploperator-= (ptrdiff_t N)
 
ptrdiff_t operator- (const CaseIteratorImpl &RHS) const
 
bool operator== (const CaseIteratorImpl &RHS) const
 
bool operator< (const CaseIteratorImpl &RHS) const
 
CaseHandleT & operator* ()
 
const CaseHandleT & operator* () const
 
- Public Member Functions inherited from llvm::iterator_facade_base< CaseIteratorImpl< CaseHandleT >, std::random_access_iterator_tag, CaseHandleT >
CaseIteratorImpl< CaseHandleT > operator+ (std::ptrdiff_t n) const
 
CaseIteratorImpl< CaseHandleT > operator- (std::ptrdiff_t n) const
 
CaseIteratorImpl< CaseHandleT > & operator++ ()
 
CaseIteratorImpl< CaseHandleT > operator++ (int)
 
CaseIteratorImpl< CaseHandleT > & operator-- ()
 
CaseIteratorImpl< CaseHandleT > operator-- (int)
 
bool operator!= (const CaseIteratorImpl< CaseHandleT > &RHS) const
 
bool operator> (const CaseIteratorImpl< CaseHandleT > &RHS) const
 
bool operator<= (const CaseIteratorImpl< CaseHandleT > &RHS) const
 
bool operator>= (const CaseIteratorImpl< CaseHandleT > &RHS) const
 
CaseHandleT * operator-> ()
 
CaseHandleT * operator-> () const
 
ReferenceProxy operator[] (std::ptrdiff_t n)
 
ReferenceProxy operator[] (std::ptrdiff_t n) const
 

Static Public Member Functions

static CaseIteratorImpl fromSuccessorIndex (SwitchInstT *SI, unsigned SuccessorIndex)
 Initializes case iterator for given SwitchInst and for given successor index. More...
 

Additional Inherited Members

- Protected Types inherited from llvm::iterator_facade_base< CaseIteratorImpl< CaseHandleT >, std::random_access_iterator_tag, CaseHandleT >
enum  
 

Detailed Description

template<typename CaseHandleT>
class llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >

Definition at line 3150 of file Instructions.h.

Constructor & Destructor Documentation

◆ CaseIteratorImpl() [1/2]

template<typename CaseHandleT >
llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >::CaseIteratorImpl ( )
default

Default constructed iterator is in an invalid state until assigned to a case for a particular switch.

◆ CaseIteratorImpl() [2/2]

template<typename CaseHandleT >
llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >::CaseIteratorImpl ( SwitchInstT *  SI,
unsigned  CaseNum 
)
inline

Initializes case iterator for given SwitchInst and for given case number.

Definition at line 3245 of file Instructions.h.

Member Function Documentation

◆ fromSuccessorIndex()

template<typename CaseHandleT >
static CaseIteratorImpl llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >::fromSuccessorIndex ( SwitchInstT *  SI,
unsigned  SuccessorIndex 
)
inlinestatic

Initializes case iterator for given SwitchInst and for given successor index.

Definition at line 3249 of file Instructions.h.

References assert(), and llvm::Instruction::getNumSuccessors().

◆ operator CaseIteratorImpl< ConstCaseHandle >()

template<typename CaseHandleT >
llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >::operator CaseIteratorImpl< ConstCaseHandle > ( ) const
inline

Support converting to the const variant.

This will be a no-op for const variant.

Definition at line 3259 of file Instructions.h.

◆ operator*() [1/2]

template<typename CaseHandleT >
CaseHandleT& llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >::operator* ( )
inline

Definition at line 3292 of file Instructions.h.

◆ operator*() [2/2]

template<typename CaseHandleT >
const CaseHandleT& llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >::operator* ( ) const
inline

Definition at line 3293 of file Instructions.h.

◆ operator+=()

template<typename CaseHandleT >
CaseIteratorImpl& llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >::operator+= ( ptrdiff_t  N)
inline

Definition at line 3263 of file Instructions.h.

References assert(), and N.

◆ operator-()

template<typename CaseHandleT >
ptrdiff_t llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >::operator- ( const CaseIteratorImpl< CaseHandleT > &  RHS) const
inline

Definition at line 3281 of file Instructions.h.

References assert().

◆ operator-=()

template<typename CaseHandleT >
CaseIteratorImpl& llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >::operator-= ( ptrdiff_t  N)
inline

Definition at line 3272 of file Instructions.h.

References assert(), and N.

◆ operator<()

template<typename CaseHandleT >
bool llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >::operator< ( const CaseIteratorImpl< CaseHandleT > &  RHS) const
inline

Definition at line 3288 of file Instructions.h.

References assert().

◆ operator==()

template<typename CaseHandleT >
bool llvm::SwitchInst::CaseIteratorImpl< CaseHandleT >::operator== ( const CaseIteratorImpl< CaseHandleT > &  RHS) const
inline

Definition at line 3285 of file Instructions.h.


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