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:
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:
- public Classify
- public ClassifyLValue
- public ClassifyModifiable
- public EvaluateAsBooleanCondition
- public EvaluateAsConstantExpr
- public EvaluateAsFixedPoint
- public EvaluateAsFloat
- public EvaluateAsInitializer
- public EvaluateAsInt
- public EvaluateAsLValue
- public EvaluateAsRValue
- public EvaluateForOverflow
- public EvaluateKnownConstInt
- public EvaluateKnownConstIntCheckOverflow
- public EvaluateWithSubstitution
- public HasSideEffects
- public IgnoreCasts
- public IgnoreCasts
- public IgnoreConversionOperatorSingleStep
- public IgnoreConversionOperatorSingleStep
- public IgnoreImpCasts
- public IgnoreImpCasts
- public IgnoreImplicit
- public IgnoreImplicit
- public IgnoreImplicitAsWritten
- public IgnoreImplicitAsWritten
- public IgnoreParenBaseCasts
- public IgnoreParenBaseCasts
- public IgnoreParenCasts
- public IgnoreParenCasts
- public IgnoreParenImpCasts
- public IgnoreParenImpCasts
- public IgnoreParenLValueCasts
- public IgnoreParenLValueCasts
- public IgnoreParenNoopCasts
- public IgnoreParenNoopCasts
- public IgnoreParens
- public IgnoreParens
- public IgnoreUnlessSpelledInSource
- public IgnoreUnlessSpelledInSource
- public classof
- public containsErrors
- public containsUnexpandedParameterPack
- public findBoundMemberType
- public getAsBuiltinConstantDeclRef
- public getBestDynamicClassType
- public getBestDynamicClassTypeExpr
- public getDependence
- public getExprLoc
- public getFPFeaturesInEffect
- public getIntegerConstantExpr
- public getObjCProperty
- public getObjectKind
- public getReferencedDeclOfCallee
- public getReferencedDeclOfCallee
- public getSourceBitField
- public getSourceBitField
- public getType
- public getValueKind
- public getValueKindForType
- public hasAnyTypeDependentArguments
- public hasNonTrivialCall
- public hasPlaceholderType
- public hasPlaceholderType
- public isBoundMemberFunction
- public isCXX11ConstantExpr
- public isCXX98IntegralConstantExpr
- public isConstantInitializer
- public isDefaultArgument
- public isEvaluatable
- public isGLValue
- public isImplicitCXXThis
- public isInstantiationDependent
- public isIntegerConstantExpr
- public isKnownToHaveBooleanValue
- public isLValue
- public isModifiableLvalue
- public isNullPointerConstant
- public isOBJCGCCandidate
- public isObjCSelfExpr
- public isOrdinaryOrBitFieldObject
- public isPRValue
- public isPotentialConstantExpr
- public isPotentialConstantExprUnevaluated
- public isReadIfDiscardedInCPlusPlus11
- public isSameComparisonOperand
- public isTemporaryObject
- public isTypeDependent
- public isUnusedResultAWarning
- public isValueDependent
- public isXValue
- public refersToBitField
- public refersToGlobalRegisterVar
- public refersToMatrixElement
- public refersToVectorElement
- protected setDependence
- public setObjectKind
- public setType
- public setValueKind
- public skipRValueSubobjectAdjustments
- public skipRValueSubobjectAdjustments
- public tryEvaluateObjectSize
- public tryEvaluateStrLen
Inherited from ValueStmt:
Inherited from Stmt:
- public EnableStatistics
- public IgnoreContainers
- public IgnoreContainers
- public PrintStats
- public ProcessODRHash
- public Profile
- public addStmtClass
- public child_begin
- public child_begin
- public child_end
- public child_end
- public children
- public children
- public determineLikelihoodConflict
- public dump
- public dump
- public dumpColor
- public dumpPretty
- public getBeginLoc
- public getEndLoc
- public getID
- public getLikelihood
- public getLikelihood
- public getLikelihood
- public getLikelihoodAttr
- public getSourceRange
- public getStmtClass
- public getStmtClassName
- public printJson
- public printPretty
- public printPrettyControlled
- public stripLabelLikeStatements
- public stripLabelLikeStatements
- public viewAST
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)
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)
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)
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)
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
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:415
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/ExprOpenMP.h:410
¶static bool classof(const clang::Stmt* T)
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
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
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:374
¶clang::SourceLocation getColonLoc(
unsigned int I) const
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
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:375
¶clang::OMPIteratorHelperData& getHelper(
unsigned int I)
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
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)
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
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
clang::SourceLocation getIteratorKwLoc() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:372
¶clang::OMPIteratorExpr::IteratorRange
getIteratorRange(unsigned int I)
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
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
clang::SourceLocation getLParenLoc() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:366
¶clang::SourceLocation getRParenLoc() const
clang::SourceLocation getRParenLoc() const
Declared at: clang/include/clang/AST/ExprOpenMP.h:369
¶clang::SourceLocation getSecondColonLoc(
unsigned int I) const
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
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
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
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
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)
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)
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)
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)
void setIteratorKwLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/ExprOpenMP.h:373
Parameters
¶void setIteratorRange(
unsigned int I,
clang::Expr* Begin,
clang::SourceLocation ColonLoc,
clang::Expr* End,
clang::SourceLocation SecondColonLoc,
clang::Expr* Step)
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)
void setLParenLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/ExprOpenMP.h:367
Parameters
¶void setRParenLoc(clang::SourceLocation L)
void setRParenLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/ExprOpenMP.h:370