clang 20.0.0git
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
clang::StmtIteratorImpl< DERIVED, REFERENCE > Class Template Reference

#include "clang/AST/StmtIterator.h"

Inheritance diagram for clang::StmtIteratorImpl< DERIVED, REFERENCE >:
Inheritance graph
[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.

◆ 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.

◆ 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.

◆ 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.

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

◆ operator->()

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

Friends And Related Function Documentation

◆ 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: