class CXXForRangeStmt

Declaration

class CXXForRangeStmt : public Stmt { /* full declaration omitted */ };

Description

CXXForRangeStmt - This represents C++0x [stmt.ranged]'s ranged for statement, represented as 'for (range-declarator : range-expression)' or 'for (init-statement range-declarator : range-expression)'. This is stored in a partially-desugared form to allow full semantic analysis of the constituent components. The original syntactic components can be extracted using getLoopVariable and getRangeInit.

Declared at: clang/include/clang/AST/StmtCXX.h:134

Inherits from: Stmt

Member Variables

private clang::SourceLocation ForLoc
private clang::Stmt* [8] SubExprs
private clang::SourceLocation CoawaitLoc
private clang::SourceLocation ColonLoc
private clang::SourceLocation RParenLoc

Inherited from Stmt:

protected

Method Overview

Inherited from Stmt:

Methods

CXXForRangeStmt(clang::Stmt::EmptyShell Empty)

Declared at: clang/include/clang/AST/StmtCXX.h:150

Parameters

clang::Stmt::EmptyShell Empty

CXXForRangeStmt(clang::Stmt* InitStmt,
                clang::DeclStmt* Range,
                clang::DeclStmt* Begin,
                clang::DeclStmt* End,
                clang::Expr* Cond,
                clang::Expr* Inc,
                clang::DeclStmt* LoopVar,
                clang::Stmt* Body,
                clang::SourceLocation FL,
                clang::SourceLocation CAL,
                clang::SourceLocation CL,
                clang::SourceLocation RPL)

Declared at: clang/include/clang/AST/StmtCXX.h:146

Parameters

clang::Stmt* InitStmt
clang::DeclStmt* Range
clang::DeclStmt* Begin
clang::DeclStmt* End
clang::Expr* Cond
clang::Expr* Inc
clang::DeclStmt* LoopVar
clang::Stmt* Body
clang::SourceLocation FL
clang::SourceLocation CAL
clang::SourceLocation CL
clang::SourceLocation RPL

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/StmtCXX.h:220

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/StmtCXX.h:216

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/StmtCXX.h:211

Parameters

const clang::Stmt* T

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/StmtCXX.h:206

const clang::DeclStmt* getBeginStmt() const

Declared at: clang/include/clang/AST/StmtCXX.h:174

clang::DeclStmt* getBeginStmt()

Declared at: clang/include/clang/AST/StmtCXX.h:162

const clang::Stmt* getBody() const

Declared at: clang/include/clang/AST/StmtCXX.h:189

clang::Stmt* getBody()

Declared at: clang/include/clang/AST/StmtCXX.h:169

clang::SourceLocation getCoawaitLoc() const

Declared at: clang/include/clang/AST/StmtCXX.h:202

clang::SourceLocation getColonLoc() const

Declared at: clang/include/clang/AST/StmtCXX.h:203

clang::Expr* getCond()

Declared at: clang/include/clang/AST/StmtCXX.h:166

const clang::Expr* getCond() const

Declared at: clang/include/clang/AST/StmtCXX.h:180

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/StmtCXX.h:207

clang::DeclStmt* getEndStmt()

Declared at: clang/include/clang/AST/StmtCXX.h:165

const clang::DeclStmt* getEndStmt() const

Declared at: clang/include/clang/AST/StmtCXX.h:177

clang::SourceLocation getForLoc() const

Declared at: clang/include/clang/AST/StmtCXX.h:201

clang::Expr* getInc()

Declared at: clang/include/clang/AST/StmtCXX.h:167

const clang::Expr* getInc() const

Declared at: clang/include/clang/AST/StmtCXX.h:183

const clang::Stmt* getInit() const

Declared at: clang/include/clang/AST/StmtCXX.h:156

clang::Stmt* getInit()

Declared at: clang/include/clang/AST/StmtCXX.h:152

clang::DeclStmt* getLoopVarStmt()

Declared at: clang/include/clang/AST/StmtCXX.h:168

const clang::DeclStmt* getLoopVarStmt() const

Declared at: clang/include/clang/AST/StmtCXX.h:186

clang::VarDecl* getLoopVariable()

Declared at: clang/include/clang/AST/StmtCXX.h:153

const clang::VarDecl* getLoopVariable() const

Declared at: clang/include/clang/AST/StmtCXX.h:157

clang::SourceLocation getRParenLoc() const

Declared at: clang/include/clang/AST/StmtCXX.h:204

clang::Expr* getRangeInit()

Declared at: clang/include/clang/AST/StmtCXX.h:154

const clang::Expr* getRangeInit() const

Declared at: clang/include/clang/AST/StmtCXX.h:158

const clang::DeclStmt* getRangeStmt() const

Declared at: clang/include/clang/AST/StmtCXX.h:171

clang::DeclStmt* getRangeStmt()

Declared at: clang/include/clang/AST/StmtCXX.h:161

void setBeginStmt(clang::Stmt* S)

Declared at: clang/include/clang/AST/StmtCXX.h:194

Parameters

clang::Stmt* S

void setBody(clang::Stmt* S)

Declared at: clang/include/clang/AST/StmtCXX.h:199

Parameters

clang::Stmt* S

void setCond(clang::Expr* E)

Declared at: clang/include/clang/AST/StmtCXX.h:196

Parameters

clang::Expr* E

void setEndStmt(clang::Stmt* S)

Declared at: clang/include/clang/AST/StmtCXX.h:195

Parameters

clang::Stmt* S

void setInc(clang::Expr* E)

Declared at: clang/include/clang/AST/StmtCXX.h:197

Parameters

clang::Expr* E

void setInit(clang::Stmt* S)

Declared at: clang/include/clang/AST/StmtCXX.h:191

Parameters

clang::Stmt* S

void setLoopVarStmt(clang::Stmt* S)

Declared at: clang/include/clang/AST/StmtCXX.h:198

Parameters

clang::Stmt* S

void setRangeInit(clang::Expr* E)

Declared at: clang/include/clang/AST/StmtCXX.h:192

Parameters

clang::Expr* E

void setRangeStmt(clang::Stmt* S)

Declared at: clang/include/clang/AST/StmtCXX.h:193

Parameters

clang::Stmt* S