clang API Documentation

Public Member Functions | Static Public Member Functions | Friends
clang::SubstNonTypeTemplateParmPackExpr Class Reference

Represents a reference to a non-type template parameter pack that has been substituted with a non-template argument pack. More...

#include <ExprCXX.h>

Inheritance diagram for clang::SubstNonTypeTemplateParmPackExpr:
Inheritance graph
[legend]
Collaboration diagram for clang::SubstNonTypeTemplateParmPackExpr:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 SubstNonTypeTemplateParmPackExpr (QualType T, NonTypeTemplateParmDecl *Param, SourceLocation NameLoc, const TemplateArgument &ArgPack)
NonTypeTemplateParmDeclgetParameterPack () const
 Retrieve the non-type template parameter pack being substituted.
SourceLocation getParameterPackLocation () const
 Retrieve the location of the parameter pack name.
TemplateArgument getArgumentPack () const
 Retrieve the template argument pack containing the substituted template arguments.
SourceLocation getLocStart () const LLVM_READONLY
SourceLocation getLocEnd () const LLVM_READONLY
child_range children ()

Static Public Member Functions

static bool classof (const Stmt *T)

Friends

class ASTReader
class ASTStmtReader

Detailed Description

Represents a reference to a non-type template parameter pack that has been substituted with a non-template argument pack.

When a pack expansion in the source code contains multiple parameter packs and those parameter packs correspond to different levels of template parameter lists, this node is used to represent a non-type template parameter pack from an outer level, which has already had its argument pack substituted but that still lives within a pack expansion that itself could not be instantiated. When actually performing a substitution into that pack expansion (e.g., when all template parameters have corresponding arguments), this type will be replaced with the appropriate underlying expression at the current pack substitution index.

Definition at line 3599 of file ExprCXX.h.


Constructor & Destructor Documentation

SubstNonTypeTemplateParmPackExpr::SubstNonTypeTemplateParmPackExpr ( QualType  T,
NonTypeTemplateParmDecl Param,
SourceLocation  NameLoc,
const TemplateArgument ArgPack 
)

Definition at line 1431 of file ExprCXX.cpp.


Member Function Documentation

Reimplemented from clang::Stmt.

Definition at line 3642 of file ExprCXX.h.

static bool clang::SubstNonTypeTemplateParmPackExpr::classof ( const Stmt T) [inline, static]

Reimplemented from clang::Expr.

Definition at line 3637 of file ExprCXX.h.

References clang::Stmt::getStmtClass().

Retrieve the template argument pack containing the substituted template arguments.

Definition at line 1440 of file ExprCXX.cpp.

Reimplemented from clang::Stmt.

Definition at line 3635 of file ExprCXX.h.

Reimplemented from clang::Stmt.

Definition at line 3634 of file ExprCXX.h.

Retrieve the non-type template parameter pack being substituted.

Definition at line 3625 of file ExprCXX.h.

Retrieve the location of the parameter pack name.

Definition at line 3628 of file ExprCXX.h.


Friends And Related Function Documentation

friend class ASTReader [friend]

Definition at line 3613 of file ExprCXX.h.

friend class ASTStmtReader [friend]

Reimplemented from clang::Stmt.

Definition at line 3614 of file ExprCXX.h.


The documentation for this class was generated from the following files: