class OMPIteratorExpr

Declaration

class OMPIteratorExpr : public Expr, private TrailingObjects { /* full declaration omitted */ };

Description

OpenMP 5.0 [2.1.6 Iterators] Iterators are identifiers that expand to multiple values in the clause on which they appear. The syntax of the iterator modifier is as follows: where iterators-definition is one of the following: where iterator-specifier is one of the following: where identifier is a base language identifier. iterator-type is a type name. range-specification is of the form begin:end[:step], where begin and end are expressions for which their types can be converted to iterator-type and step is an integral expression. In an iterator-specifier, if the iterator-type is not specified then the type of that iterator is of int type. The iterator-type must be an integral or pointer type. The iterator-type must not be const qualified.

Declared at: clang/include/clang/AST/ExprOpenMP.h:272

Inherits from: Expr, TrailingObjects

Member Variables

private clang::SourceLocation IteratorKwLoc
Location of 'iterator' keyword.
private clang::SourceLocation LPLoc
Location of '('.
private clang::SourceLocation RPLoc
Location of ')'.
private unsigned int NumIterators = 0
Number of iterator definitions.

Inherited from Stmt:

protected

Method Overview

  • public static clang::OMPIteratorExpr * Create(const clang::ASTContext & Context, clang::QualType T, clang::SourceLocation IteratorKwLoc, clang::SourceLocation L, clang::SourceLocation R, ArrayRef<clang::OMPIteratorExpr::IteratorDefinition> Data, ArrayRef<clang::OMPIteratorHelperData> Helpers)
  • public static clang::OMPIteratorExpr * CreateEmpty(const clang::ASTContext & Context, unsigned int NumIterators)
  • private OMPIteratorExpr(clang::Stmt::EmptyShell Shell, unsigned int NumIterators)
  • private OMPIteratorExpr(clang::QualType ExprTy, clang::SourceLocation IteratorKwLoc, clang::SourceLocation L, clang::SourceLocation R, ArrayRef<clang::OMPIteratorExpr::IteratorDefinition> Data, ArrayRef<clang::OMPIteratorHelperData> Helpers)
  • public clang::Stmt::const_child_range children() const
  • public clang::Stmt::child_range children()
  • public static bool classof(const clang::Stmt * T)
  • public clang::SourceLocation getAssignLoc(unsigned int I) const
  • public clang::SourceLocation getBeginLoc() const
  • public clang::SourceLocation getColonLoc(unsigned int I) const
  • public clang::SourceLocation getEndLoc() const
  • public clang::OMPIteratorHelperData & getHelper(unsigned int I)
  • public const clang::OMPIteratorHelperData & getHelper(unsigned int I) const
  • public clang::Decl * getIteratorDecl(unsigned int I)
  • public const clang::Decl * getIteratorDecl(unsigned int I) const
  • public clang::SourceLocation getIteratorKwLoc() const
  • public clang::OMPIteratorExpr::IteratorRange getIteratorRange(unsigned int I)
  • public const clang::OMPIteratorExpr::IteratorRange getIteratorRange(unsigned int I) const
  • public clang::SourceLocation getLParenLoc() const
  • public clang::SourceLocation getRParenLoc() const
  • public clang::SourceLocation getSecondColonLoc(unsigned int I) const
  • public unsigned int numOfIterators() const
  • private unsigned int numTrailingObjects(OverloadToken<clang::Expr *>) const
  • private unsigned int numTrailingObjects(OverloadToken<clang::SourceLocation>) const
  • private unsigned int numTrailingObjects(OverloadToken<clang::Decl *>) const
  • private void setAssignmentLoc(unsigned int I, clang::SourceLocation Loc)
  • private void setHelper(unsigned int I, const clang::OMPIteratorHelperData & D)
  • private void setIteratorDeclaration(unsigned int I, clang::Decl * D)
  • public void setIteratorKwLoc(clang::SourceLocation L)
  • private void setIteratorRange(unsigned int I, clang::Expr * Begin, clang::SourceLocation ColonLoc, clang::Expr * End, clang::SourceLocation SecondColonLoc, clang::Expr * Step)
  • public void setLParenLoc(clang::SourceLocation L)
  • public void setRParenLoc(clang::SourceLocation L)

Inherited from Expr:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

static clang::OMPIteratorExpr* Create(
    const clang::ASTContext& Context,
    clang::QualType T,
    clang::SourceLocation IteratorKwLoc,
    clang::SourceLocation L,
    clang::SourceLocation R,
    ArrayRef<clang::OMPIteratorExpr::
                 IteratorDefinition> Data,
    ArrayRef<clang::OMPIteratorHelperData>
        Helpers)

Declared at: clang/include/clang/AST/ExprOpenMP.h:357

Parameters

const clang::ASTContext& Context
clang::QualType T
clang::SourceLocation IteratorKwLoc
clang::SourceLocation L
clang::SourceLocation R
ArrayRef< clang::OMPIteratorExpr::IteratorDefinition> Data
ArrayRef<clang::OMPIteratorHelperData> Helpers

static clang::OMPIteratorExpr* CreateEmpty(
    const clang::ASTContext& Context,
    unsigned int NumIterators)

Declared at: clang/include/clang/AST/ExprOpenMP.h:363

Parameters

const clang::ASTContext& Context
unsigned int NumIterators

OMPIteratorExpr(clang::Stmt::EmptyShell Shell,
                unsigned int NumIterators)

Description

Construct an empty expression.

Declared at: clang/include/clang/AST/ExprOpenMP.h:326

Parameters

clang::Stmt::EmptyShell Shell
unsigned int NumIterators

OMPIteratorExpr(
    clang::QualType ExprTy,
    clang::SourceLocation IteratorKwLoc,
    clang::SourceLocation L,
    clang::SourceLocation R,
    ArrayRef<clang::OMPIteratorExpr::
                 IteratorDefinition> Data,
    ArrayRef<clang::OMPIteratorHelperData>
        Helpers)

Declared at: clang/include/clang/AST/ExprOpenMP.h:320

Parameters

clang::QualType ExprTy
clang::SourceLocation IteratorKwLoc
clang::SourceLocation L
clang::SourceLocation R
ArrayRef< clang::OMPIteratorExpr::IteratorDefinition> Data
ArrayRef<clang::OMPIteratorHelperData> Helpers

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/ExprOpenMP.h:415

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/ExprOpenMP.h:410

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

Declared at: clang/include/clang/AST/ExprOpenMP.h:405

Parameters

const clang::Stmt* T

clang::SourceLocation getAssignLoc(
    unsigned int I) const

Description

Gets the location of '=' for the given iterator definition.

Declared at: clang/include/clang/AST/ExprOpenMP.h:390

Parameters

unsigned int I

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/ExprOpenMP.h:374

clang::SourceLocation getColonLoc(
    unsigned int I) const

Description

Gets the location of the first ':' in the range for the given iterator definition.

Declared at: clang/include/clang/AST/ExprOpenMP.h:393

Parameters

unsigned int I

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/ExprOpenMP.h:375

clang::OMPIteratorHelperData& getHelper(
    unsigned int I)

Description

Fetches helper data for the specified iteration space.

Declared at: clang/include/clang/AST/ExprOpenMP.h:402

Parameters

unsigned int I

const clang::OMPIteratorHelperData& getHelper(
    unsigned int I) const

Declared at: clang/include/clang/AST/ExprOpenMP.h:403

Parameters

unsigned int I

clang::Decl* getIteratorDecl(unsigned int I)

Description

Gets the iterator declaration for the given iterator.

Declared at: clang/include/clang/AST/ExprOpenMP.h:378

Parameters

unsigned int I

const clang::Decl* getIteratorDecl(
    unsigned int I) const

Declared at: clang/include/clang/AST/ExprOpenMP.h:379

Parameters

unsigned int I

clang::SourceLocation getIteratorKwLoc() const

Declared at: clang/include/clang/AST/ExprOpenMP.h:372

clang::OMPIteratorExpr::IteratorRange
getIteratorRange(unsigned int I)

Description

Gets the iterator range for the given iterator.

Declared at: clang/include/clang/AST/ExprOpenMP.h:384

Parameters

unsigned int I

const clang::OMPIteratorExpr::IteratorRange
getIteratorRange(unsigned int I) const

Declared at: clang/include/clang/AST/ExprOpenMP.h:385

Parameters

unsigned int I

clang::SourceLocation getLParenLoc() const

Declared at: clang/include/clang/AST/ExprOpenMP.h:366

clang::SourceLocation getRParenLoc() const

Declared at: clang/include/clang/AST/ExprOpenMP.h:369

clang::SourceLocation getSecondColonLoc(
    unsigned int I) const

Description

Gets the location of the second ':' (if any) in the range for the given iteratori definition.

Declared at: clang/include/clang/AST/ExprOpenMP.h:396

Parameters

unsigned int I

unsigned int numOfIterators() const

Description

Returns number of iterator definitions.

Declared at: clang/include/clang/AST/ExprOpenMP.h:399

unsigned int numTrailingObjects(
    OverloadToken<clang::Expr*>) const

Declared at: clang/include/clang/AST/ExprOpenMP.h:348

Parameters

OverloadToken<clang::Expr*>

unsigned int numTrailingObjects(
    OverloadToken<clang::SourceLocation>) const

Declared at: clang/include/clang/AST/ExprOpenMP.h:352

Parameters

OverloadToken<clang::SourceLocation>

unsigned int numTrailingObjects(
    OverloadToken<clang::Decl*>) const

Declared at: clang/include/clang/AST/ExprOpenMP.h:344

Parameters

OverloadToken<clang::Decl*>

void setAssignmentLoc(unsigned int I,
                      clang::SourceLocation Loc)

Description

Sets the location of the assignment symbol for the specified iterator definition.

Declared at: clang/include/clang/AST/ExprOpenMP.h:334

Parameters

unsigned int I
clang::SourceLocation Loc

void setHelper(
    unsigned int I,
    const clang::OMPIteratorHelperData& D)

Description

Sets helpers for the specified iteration space.

Declared at: clang/include/clang/AST/ExprOpenMP.h:342

Parameters

unsigned int I
const clang::OMPIteratorHelperData& D

void setIteratorDeclaration(unsigned int I,
                            clang::Decl* D)

Description

Sets basic declaration for the specified iterator definition.

Declared at: clang/include/clang/AST/ExprOpenMP.h:330

Parameters

unsigned int I
clang::Decl* D

void setIteratorKwLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/ExprOpenMP.h:373

Parameters

clang::SourceLocation L

void setIteratorRange(
    unsigned int I,
    clang::Expr* Begin,
    clang::SourceLocation ColonLoc,
    clang::Expr* End,
    clang::SourceLocation SecondColonLoc,
    clang::Expr* Step)

Description

Sets begin, end and optional step expressions for specified iterator definition.

Declared at: clang/include/clang/AST/ExprOpenMP.h:338

Parameters

unsigned int I
clang::Expr* Begin
clang::SourceLocation ColonLoc
clang::Expr* End
clang::SourceLocation SecondColonLoc
clang::Expr* Step

void setLParenLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/ExprOpenMP.h:367

Parameters

clang::SourceLocation L

void setRParenLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/ExprOpenMP.h:370

Parameters

clang::SourceLocation L