LLVM 22.0.0git
llvm::generic_gep_type_iterator< ItTy > Class Template Reference

#include "llvm/IR/GetElementPtrTypeIterator.h"

Public Types

using iterator_category = std::forward_iterator_tag
using value_type = Type *
using difference_type = std::ptrdiff_t
using pointer = value_type *
using reference = value_type &

Public Member Functions

bool operator== (const generic_gep_type_iterator &x) const
bool operator!= (const generic_gep_type_iterator &x) const
TypegetIndexedType () const
ValuegetOperand () const
generic_gep_type_iteratoroperator++ ()
generic_gep_type_iterator operator++ (int)
bool isStruct () const
bool isVector () const
bool isSequential () const
TypeSize getSequentialElementStride (const DataLayout &DL) const
StructTypegetStructType () const
StructTypegetStructTypeOrNull () const

Static Public Member Functions

static generic_gep_type_iterator begin (Type *Ty, ItTy It)
static generic_gep_type_iterator end (ItTy It)

Detailed Description

template<typename ItTy = User::const_op_iterator>
class llvm::generic_gep_type_iterator< ItTy >

Definition at line 31 of file GetElementPtrTypeIterator.h.

Member Typedef Documentation

◆ difference_type

template<typename ItTy = User::const_op_iterator>
using llvm::generic_gep_type_iterator< ItTy >::difference_type = std::ptrdiff_t

Definition at line 73 of file GetElementPtrTypeIterator.h.

◆ iterator_category

template<typename ItTy = User::const_op_iterator>
using llvm::generic_gep_type_iterator< ItTy >::iterator_category = std::forward_iterator_tag

Definition at line 71 of file GetElementPtrTypeIterator.h.

◆ pointer

template<typename ItTy = User::const_op_iterator>
using llvm::generic_gep_type_iterator< ItTy >::pointer = value_type *

Definition at line 74 of file GetElementPtrTypeIterator.h.

◆ reference

template<typename ItTy = User::const_op_iterator>
using llvm::generic_gep_type_iterator< ItTy >::reference = value_type &

Definition at line 75 of file GetElementPtrTypeIterator.h.

◆ value_type

template<typename ItTy = User::const_op_iterator>
using llvm::generic_gep_type_iterator< ItTy >::value_type = Type *

Definition at line 72 of file GetElementPtrTypeIterator.h.

Member Function Documentation

◆ begin()

template<typename ItTy = User::const_op_iterator>
generic_gep_type_iterator llvm::generic_gep_type_iterator< ItTy >::begin ( Type * Ty,
ItTy It )
inlinestatic

Definition at line 77 of file GetElementPtrTypeIterator.h.

References I.

Referenced by llvm::gep_type_begin(), llvm::gep_type_begin(), and llvm::gep_type_begin().

◆ end()

template<typename ItTy = User::const_op_iterator>
generic_gep_type_iterator llvm::generic_gep_type_iterator< ItTy >::end ( ItTy It)
inlinestatic

Definition at line 84 of file GetElementPtrTypeIterator.h.

References I.

Referenced by llvm::gep_type_end(), llvm::gep_type_end(), and llvm::gep_type_end().

◆ getIndexedType()

template<typename ItTy = User::const_op_iterator>
Type * llvm::generic_gep_type_iterator< ItTy >::getIndexedType ( ) const
inline

◆ getOperand()

template<typename ItTy = User::const_op_iterator>
Value * llvm::generic_gep_type_iterator< ItTy >::getOperand ( ) const
inline

◆ getSequentialElementStride()

template<typename ItTy = User::const_op_iterator>
TypeSize llvm::generic_gep_type_iterator< ItTy >::getSequentialElementStride ( const DataLayout & DL) const
inline

◆ getStructType()

template<typename ItTy = User::const_op_iterator>
StructType * llvm::generic_gep_type_iterator< ItTy >::getStructType ( ) const
inline

Definition at line 164 of file GetElementPtrTypeIterator.h.

References llvm::cast().

◆ getStructTypeOrNull()

template<typename ItTy = User::const_op_iterator>
StructType * llvm::generic_gep_type_iterator< ItTy >::getStructTypeOrNull ( ) const
inline

◆ isSequential()

template<typename ItTy = User::const_op_iterator>
bool llvm::generic_gep_type_iterator< ItTy >::isSequential ( ) const
inline

Definition at line 147 of file GetElementPtrTypeIterator.h.

References isStruct().

Referenced by getSequentialElementStride().

◆ isStruct()

template<typename ItTy = User::const_op_iterator>
bool llvm::generic_gep_type_iterator< ItTy >::isStruct ( ) const
inline

◆ isVector()

template<typename ItTy = User::const_op_iterator>
bool llvm::generic_gep_type_iterator< ItTy >::isVector ( ) const
inline

Definition at line 146 of file GetElementPtrTypeIterator.h.

References llvm::isa().

Referenced by getSequentialElementStride().

◆ operator!=()

template<typename ItTy = User::const_op_iterator>
bool llvm::generic_gep_type_iterator< ItTy >::operator!= ( const generic_gep_type_iterator< ItTy > & x) const
inline

Definition at line 94 of file GetElementPtrTypeIterator.h.

References operator==().

◆ operator++() [1/2]

template<typename ItTy = User::const_op_iterator>
generic_gep_type_iterator & llvm::generic_gep_type_iterator< ItTy >::operator++ ( )
inline

Definition at line 112 of file GetElementPtrTypeIterator.h.

References llvm::dyn_cast(), and getIndexedType().

◆ operator++() [2/2]

template<typename ItTy = User::const_op_iterator>
generic_gep_type_iterator llvm::generic_gep_type_iterator< ItTy >::operator++ ( int )
inline

Definition at line 124 of file GetElementPtrTypeIterator.h.

◆ operator==()

template<typename ItTy = User::const_op_iterator>
bool llvm::generic_gep_type_iterator< ItTy >::operator== ( const generic_gep_type_iterator< ItTy > & x) const
inline

Definition at line 90 of file GetElementPtrTypeIterator.h.

Referenced by operator!=().


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