14 #ifndef LLVM_CLANG_AST_STMTITERATOR_H
15 #define LLVM_CLANG_AST_STMTITERATOR_H
17 #include "llvm/Support/Compiler.h"
18 #include "llvm/Support/DataTypes.h"
28 class VariableArrayType;
63 void NextDecl(
bool ImmediateAdvance =
true);
76 template <
typename DERIVED,
typename REFERENCE>
78 public std::iterator<std::forward_iterator_tag,
80 REFERENCE, REFERENCE> {
97 return static_cast<DERIVED&
>(*this);
101 DERIVED tmp =
static_cast<DERIVED&
>(*this);
121 struct ConstStmtIterator;
152 const_cast<
Stmt **>(S)) {}
ConstStmtIterator(const StmtIterator &RHS)
Stmt - This represents one statement.
Decl - This represents one declaration (or definition), e.g.
bool inSizeOfTypeVA() const
The l-value was an access to a declared entity or something equivalently strong, like the address of ...
friend StmtIterator cast_away_const(const ConstStmtIterator &RHS)
StmtIteratorImpl(const VariableArrayType *t)
StmtIterator cast_away_const(const ConstStmtIterator &RHS)
void NextDecl(bool ImmediateAdvance=true)
StmtIteratorImpl(const StmtIteratorBase &RHS)
REFERENCE operator->() const
ConstStmtIterator(Stmt *const *S)
__UINTPTR_TYPE__ uintptr_t
An unsigned integer type with the property that any valid pointer to void can be converted to this ty...
bool operator==(const DERIVED &RHS) const
StmtIterator(Decl **dgi, Decl **dge)
Stmt *& GetDeclExpr() const
StmtIteratorBase(Stmt **s)
StmtIterator(const VariableArrayType *t)
REFERENCE operator*() const
StmtIteratorImpl(Decl **dgi, Decl **dge)
bool operator!=(const DERIVED &RHS) const
const VariableArrayType * getVAPtr() const
void setVAPtr(const VariableArrayType *P)
Represents a C array with a specified size that is not an integer-constant-expression.
StmtIteratorImpl(Stmt **s)