clang 22.0.0git
clang::StmtIteratorImpl< DERIVED, REFERENCE > Class Template Reference

#include "clang/AST/StmtIterator.h"

Inheritance diagram for clang::StmtIteratorImpl< DERIVED, REFERENCE >:
[legend]

Public Types

using iterator_category = std::forward_iterator_tag
using value_type = REFERENCE
using difference_type = std::ptrdiff_t
using pointer = REFERENCE
using reference = REFERENCE

Public Member Functions

 StmtIteratorImpl ()=default
 StmtIteratorImpl (Stmt **s)
 StmtIteratorImpl (Decl **dgi, Decl **dge)
 StmtIteratorImpl (const VariableArrayType *t)
DERIVED & operator++ ()
DERIVED operator++ (int)
REFERENCE operator* () const
REFERENCE operator-> () const

Protected Member Functions

 StmtIteratorImpl (const StmtIteratorBase &RHS)
Protected Member Functions inherited from clang::StmtIteratorBase
 StmtIteratorBase (Stmt **s)
 StmtIteratorBase (const VariableArrayType *t)
 StmtIteratorBase (Decl **dgi, Decl **dge)
 StmtIteratorBase ()
bool inDeclGroup () const
bool inSizeOfTypeVA () const
bool inStmt () const
const VariableArrayTypegetVAPtr () const
void setVAPtr (const VariableArrayType *P)
void NextDecl (bool ImmediateAdvance=true)
bool HandleDecl (Decl *D)
void NextVA ()
Stmt *& GetDeclExpr () const

Friends

bool operator== (const DERIVED &LHS, const DERIVED &RHS)
bool operator!= (const DERIVED &LHS, const DERIVED &RHS)

Additional Inherited Members

Protected Types inherited from clang::StmtIteratorBase
enum  { StmtMode = 0x0 , SizeOfTypeVAMode = 0x1 , DeclGroupMode = 0x2 , Flags = 0x3 }
Protected Attributes inherited from clang::StmtIteratorBase
union { 
   Stmt **   stmt 
   Decl **   DGI 
}; 
uintptr_t RawVAPtr = 0
Decl ** DGE

Detailed Description

template<typename DERIVED, typename REFERENCE>
class clang::StmtIteratorImpl< DERIVED, REFERENCE >

Definition at line 77 of file StmtIterator.h.

Member Typedef Documentation

◆ difference_type

template<typename DERIVED, typename REFERENCE>
using clang::StmtIteratorImpl< DERIVED, REFERENCE >::difference_type = std::ptrdiff_t

Definition at line 84 of file StmtIterator.h.

◆ iterator_category

template<typename DERIVED, typename REFERENCE>
using clang::StmtIteratorImpl< DERIVED, REFERENCE >::iterator_category = std::forward_iterator_tag

Definition at line 82 of file StmtIterator.h.

◆ pointer

template<typename DERIVED, typename REFERENCE>
using clang::StmtIteratorImpl< DERIVED, REFERENCE >::pointer = REFERENCE

Definition at line 85 of file StmtIterator.h.

◆ reference

template<typename DERIVED, typename REFERENCE>
using clang::StmtIteratorImpl< DERIVED, REFERENCE >::reference = REFERENCE

Definition at line 86 of file StmtIterator.h.

◆ value_type

template<typename DERIVED, typename REFERENCE>
using clang::StmtIteratorImpl< DERIVED, REFERENCE >::value_type = REFERENCE

Definition at line 83 of file StmtIterator.h.

Constructor & Destructor Documentation

◆ StmtIteratorImpl() [1/5]

template<typename DERIVED, typename REFERENCE>
clang::StmtIteratorImpl< DERIVED, REFERENCE >::StmtIteratorImpl ( const StmtIteratorBase & RHS)
inlineprotected

Definition at line 79 of file StmtIterator.h.

References clang::StmtIteratorBase::StmtIteratorBase().

◆ StmtIteratorImpl() [2/5]

template<typename DERIVED, typename REFERENCE>
clang::StmtIteratorImpl< DERIVED, REFERENCE >::StmtIteratorImpl ( )
default

◆ StmtIteratorImpl() [3/5]

template<typename DERIVED, typename REFERENCE>
clang::StmtIteratorImpl< DERIVED, REFERENCE >::StmtIteratorImpl ( Stmt ** s)
inline

Definition at line 89 of file StmtIterator.h.

References s, and clang::StmtIteratorBase::StmtIteratorBase().

◆ StmtIteratorImpl() [4/5]

template<typename DERIVED, typename REFERENCE>
clang::StmtIteratorImpl< DERIVED, REFERENCE >::StmtIteratorImpl ( Decl ** dgi,
Decl ** dge )
inline

Definition at line 90 of file StmtIterator.h.

References clang::StmtIteratorBase::StmtIteratorBase().

◆ StmtIteratorImpl() [5/5]

template<typename DERIVED, typename REFERENCE>
clang::StmtIteratorImpl< DERIVED, REFERENCE >::StmtIteratorImpl ( const VariableArrayType * t)
inline

Definition at line 91 of file StmtIterator.h.

References clang::StmtIteratorBase::StmtIteratorBase().

Member Function Documentation

◆ operator*()

template<typename DERIVED, typename REFERENCE>
REFERENCE clang::StmtIteratorImpl< DERIVED, REFERENCE >::operator* ( ) const
inline

◆ operator++() [1/2]

template<typename DERIVED, typename REFERENCE>
DERIVED & clang::StmtIteratorImpl< DERIVED, REFERENCE >::operator++ ( )
inline

◆ operator++() [2/2]

template<typename DERIVED, typename REFERENCE>
DERIVED clang::StmtIteratorImpl< DERIVED, REFERENCE >::operator++ ( int )
inline

Definition at line 104 of file StmtIterator.h.

References operator++().

◆ operator->()

template<typename DERIVED, typename REFERENCE>
REFERENCE clang::StmtIteratorImpl< DERIVED, REFERENCE >::operator-> ( ) const
inline

Definition at line 123 of file StmtIterator.h.

References operator*().

◆ operator!=

template<typename DERIVED, typename REFERENCE>
bool operator!= ( const DERIVED & LHS,
const DERIVED & RHS )
friend

Definition at line 115 of file StmtIterator.h.

◆ operator==

template<typename DERIVED, typename REFERENCE>
bool operator== ( const DERIVED & LHS,
const DERIVED & RHS )
friend

Definition at line 110 of file StmtIterator.h.


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