clang API Documentation

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

Represents the result of substituting a set of types for a template type parameter pack. More...

#include <Type.h>

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

List of all members.

Public Member Functions

IdentifierInfogetIdentifier () const
const TemplateTypeParmTypegetReplacedParameter () const
 Gets the template parameter that was substituted for.
bool isSugared () const
QualType desugar () const
TemplateArgument getArgumentPack () const
void Profile (llvm::FoldingSetNodeID &ID)

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &ID, const TemplateTypeParmType *Replaced, const TemplateArgument &ArgPack)
static bool classof (const Type *T)

Friends

class ASTContext

Detailed Description

Represents the result of substituting a set of types for a template type parameter 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 type node is used to represent a template type 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 SubstTemplateTypeParmType at the current pack substitution index.

Definition at line 3630 of file Type.h.


Member Function Documentation

static bool clang::SubstTemplateTypeParmPackType::classof ( const Type T) [inline, static]

Definition at line 3665 of file Type.h.

References clang::Type::getTypeClass().

Definition at line 3656 of file Type.h.

Definition at line 1961 of file Type.cpp.

Referenced by IsStructurallyEquivalent(), MarkUsedTemplateParameters(), and Profile().

Definition at line 3648 of file Type.h.

Gets the template parameter that was substituted for.

Definition at line 3651 of file Type.h.

Referenced by IsStructurallyEquivalent(), MarkUsedTemplateParameters(), and Profile().

Definition at line 3655 of file Type.h.

void SubstTemplateTypeParmPackType::Profile ( llvm::FoldingSetNodeID &  ID)
void SubstTemplateTypeParmPackType::Profile ( llvm::FoldingSetNodeID &  ID,
const TemplateTypeParmType Replaced,
const TemplateArgument ArgPack 
) [static]

Friends And Related Function Documentation

friend class ASTContext [friend]

Reimplemented from clang::Type.

Definition at line 3645 of file Type.h.


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