#ifndef LLVM_CLANG_AST_STMTITERATOR_H
#define LLVM_CLANG_AST_STMTITERATOR_H
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <iterator>
namespace clang {
class Decl;
class Stmt;
class VariableArrayType;
class StmtIteratorBase { … };
template <typename DERIVED, typename REFERENCE>
class StmtIteratorImpl : public StmtIteratorBase { … };
struct ConstStmtIterator;
struct StmtIterator : public StmtIteratorImpl<StmtIterator, Stmt*&> { … };
struct ConstStmtIterator : public StmtIteratorImpl<ConstStmtIterator,
const Stmt*> { … };
inline StmtIterator cast_away_const(const ConstStmtIterator &RHS) { … }
}
#endif