class FunctionParmPackExpr
Declaration
class FunctionParmPackExpr : public Expr, private TrailingObjects { /* full declaration omitted */ };
Description
Represents a reference to a function parameter pack or init-capture pack that has been substituted but not yet expanded. When a pack expansion contains multiple parameter packs at different levels, this node is used to represent a function parameter pack at an outer level which we have already substituted to refer to expanded parameters, but where the containing pack expansion cannot yet be expanded.
Declared at: clang/include/clang/AST/ExprCXX.h:4397
Inherits from: Expr, TrailingObjects
Member Variables
- private clang::VarDecl* ParamPack
- The function parameter pack which was referenced.
- private clang::SourceLocation NameLoc
- The location of the function parameter pack reference.
- private unsigned int NumParameters
- The number of expansions of this pack.
Inherited from Stmt:
Method Overview
- public static clang::FunctionParmPackExpr * Create(const clang::ASTContext & Context, clang::QualType T, clang::VarDecl * ParamPack, clang::SourceLocation NameLoc, ArrayRef<clang::VarDecl *> Params)
- public static clang::FunctionParmPackExpr * CreateEmpty(const clang::ASTContext & Context, unsigned int NumParams)
- private FunctionParmPackExpr(clang::QualType T, clang::VarDecl * ParamPack, clang::SourceLocation NameLoc, unsigned int NumParams, clang::VarDecl *const * Params)
- public clang::FunctionParmPackExpr::iterator begin() const
- public clang::Stmt::child_range children()
- public clang::Stmt::const_child_range children() const
- public static bool classof(const clang::Stmt * T)
- public clang::FunctionParmPackExpr::iterator end() const
- public clang::SourceLocation getBeginLoc() const
- public clang::SourceLocation getEndLoc() const
- public clang::VarDecl * getExpansion(unsigned int I) const
- public unsigned int getNumExpansions() const
- public clang::VarDecl * getParameterPack() const
- public clang::SourceLocation getParameterPackLocation() const
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::FunctionParmPackExpr* Create(
const clang::ASTContext& Context,
clang::QualType T,
clang::VarDecl* ParamPack,
clang::SourceLocation NameLoc,
ArrayRef<clang::VarDecl*> Params)
static clang::FunctionParmPackExpr* Create(
const clang::ASTContext& Context,
clang::QualType T,
clang::VarDecl* ParamPack,
clang::SourceLocation NameLoc,
ArrayRef<clang::VarDecl*> Params)
Declared at: clang/include/clang/AST/ExprCXX.h:4418
Parameters
- const clang::ASTContext& Context
- clang::QualType T
- clang::VarDecl* ParamPack
- clang::SourceLocation NameLoc
- ArrayRef<clang::VarDecl*> Params
¶static clang::FunctionParmPackExpr* CreateEmpty(
const clang::ASTContext& Context,
unsigned int NumParams)
static clang::FunctionParmPackExpr* CreateEmpty(
const clang::ASTContext& Context,
unsigned int NumParams)
Declared at: clang/include/clang/AST/ExprCXX.h:4422
Parameters
- const clang::ASTContext& Context
- unsigned int NumParams
¶FunctionParmPackExpr(
clang::QualType T,
clang::VarDecl* ParamPack,
clang::SourceLocation NameLoc,
unsigned int NumParams,
clang::VarDecl* const* Params)
FunctionParmPackExpr(
clang::QualType T,
clang::VarDecl* ParamPack,
clang::SourceLocation NameLoc,
unsigned int NumParams,
clang::VarDecl* const* Params)
Declared at: clang/include/clang/AST/ExprCXX.h:4413
Parameters
- clang::QualType T
- clang::VarDecl* ParamPack
- clang::SourceLocation NameLoc
- unsigned int NumParams
- clang::VarDecl* const* Params
¶clang::FunctionParmPackExpr::iterator begin()
const
clang::FunctionParmPackExpr::iterator begin()
const
Declared at: clang/include/clang/AST/ExprCXX.h:4434
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/ExprCXX.h:4450
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/ExprCXX.h:4454
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/ExprCXX.h:4446
Parameters
- const clang::Stmt* T
¶clang::FunctionParmPackExpr::iterator end() const
clang::FunctionParmPackExpr::iterator end() const
Declared at: clang/include/clang/AST/ExprCXX.h:4435
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/ExprCXX.h:4443
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/ExprCXX.h:4444
¶clang::VarDecl* getExpansion(unsigned int I) const
clang::VarDecl* getExpansion(unsigned int I) const
Description
Get an expansion of the parameter pack by index.
Declared at: clang/include/clang/AST/ExprCXX.h:4441
Parameters
- unsigned int I
¶unsigned int getNumExpansions() const
unsigned int getNumExpansions() const
Description
Get the number of parameters in this parameter pack.
Declared at: clang/include/clang/AST/ExprCXX.h:4438
¶clang::VarDecl* getParameterPack() const
clang::VarDecl* getParameterPack() const
Description
Get the parameter pack which this expression refers to.
Declared at: clang/include/clang/AST/ExprCXX.h:4426
¶clang::SourceLocation getParameterPackLocation()
const
clang::SourceLocation getParameterPackLocation()
const
Description
Get the location of the parameter pack.
Declared at: clang/include/clang/AST/ExprCXX.h:4429