LLVM  14.0.0git
Public Member Functions | List of all members
llvm::BasicBlock::phi_iterator_impl< PHINodeT, BBIteratorT > Class Template Reference

Iterator to walk just the phi nodes in the basic block. More...

#include "llvm/IR/BasicBlock.h"

Inheritance diagram for llvm::BasicBlock::phi_iterator_impl< PHINodeT, BBIteratorT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::BasicBlock::phi_iterator_impl< PHINodeT, BBIteratorT >:
Collaboration graph
[legend]

Public Member Functions

 phi_iterator_impl ()=default
 
template<typename PHINodeU , typename BBIteratorU , typename = std::enable_if_t< std::is_convertible<PHINodeU *, PHINodeT *>::value>>
 phi_iterator_impl (const phi_iterator_impl< PHINodeU, BBIteratorU > &Arg)
 
bool operator== (const phi_iterator_impl &Arg) const
 
PHINodeT & operator* () const
 
phi_iterator_imploperator++ ()
 
- Public Member Functions inherited from llvm::iterator_facade_base< phi_iterator_impl< PHINode, iterator >, std::forward_iterator_tag, PHINode >
phi_iterator_impl< PHINode, iterator > operator+ (std::ptrdiff_t n) const
 
phi_iterator_impl< PHINode, iterator > operator- (std::ptrdiff_t n) const
 
phi_iterator_impl< PHINode, iterator > & operator++ ()
 
phi_iterator_impl< PHINode, iterator > operator++ (int)
 
phi_iterator_impl< PHINode, iterator > & operator-- ()
 
phi_iterator_impl< PHINode, iterator > operator-- (int)
 
bool operator!= (const phi_iterator_impl< PHINode, iterator > &RHS) const
 
bool operator> (const phi_iterator_impl< PHINode, iterator > &RHS) const
 
bool operator<= (const phi_iterator_impl< PHINode, iterator > &RHS) const
 
bool operator>= (const phi_iterator_impl< PHINode, iterator > &RHS) const
 
PointerProxy operator-> ()
 
PointerProxy operator-> () const
 
ReferenceProxy operator[] (std::ptrdiff_t n)
 
ReferenceProxy operator[] (std::ptrdiff_t n) const
 

Additional Inherited Members

- Public Types inherited from llvm::iterator_facade_base< phi_iterator_impl< PHINode, iterator >, std::forward_iterator_tag, PHINode >
using iterator_category = std::forward_iterator_tag
 
using value_type = PHINode
 
using difference_type = std::ptrdiff_t
 
using pointer = PHINode *
 
using reference = PHINode &
 
- Protected Types inherited from llvm::iterator_facade_base< phi_iterator_impl< PHINode, iterator >, std::forward_iterator_tag, PHINode >
enum  
 

Detailed Description

template<typename PHINodeT = PHINode, typename BBIteratorT = iterator>
class llvm::BasicBlock::phi_iterator_impl< PHINodeT, BBIteratorT >

Iterator to walk just the phi nodes in the basic block.

Definition at line 315 of file BasicBlock.h.

Constructor & Destructor Documentation

◆ phi_iterator_impl() [1/2]

template<typename PHINodeT = PHINode, typename BBIteratorT = iterator>
llvm::BasicBlock::phi_iterator_impl< PHINodeT, BBIteratorT >::phi_iterator_impl ( )
default

◆ phi_iterator_impl() [2/2]

template<typename PHINodeT = PHINode, typename BBIteratorT = iterator>
template<typename PHINodeU , typename BBIteratorU , typename = std::enable_if_t< std::is_convertible<PHINodeU *, PHINodeT *>::value>>
llvm::BasicBlock::phi_iterator_impl< PHINodeT, BBIteratorT >::phi_iterator_impl ( const phi_iterator_impl< PHINodeU, BBIteratorU > &  Arg)
inline

Definition at line 333 of file BasicBlock.h.

Member Function Documentation

◆ operator*()

template<typename PHINodeT = PHINode, typename BBIteratorT = iterator>
PHINodeT& llvm::BasicBlock::phi_iterator_impl< PHINodeT, BBIteratorT >::operator* ( ) const
inline

Definition at line 338 of file BasicBlock.h.

◆ operator++()

template<typename PHINodeT = PHINode, typename BBIteratorT = iterator>
phi_iterator_impl& llvm::BasicBlock::phi_iterator_impl< PHINodeT, BBIteratorT >::operator++ ( )
inline

Definition at line 341 of file BasicBlock.h.

References assert().

◆ operator==()

template<typename PHINodeT = PHINode, typename BBIteratorT = iterator>
bool llvm::BasicBlock::phi_iterator_impl< PHINodeT, BBIteratorT >::operator== ( const phi_iterator_impl< PHINodeT, BBIteratorT > &  Arg) const
inline

Definition at line 336 of file BasicBlock.h.

References Arg.


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