clang 20.0.0git
|
A structure for storing the information associated with a substituted template template parameter. More...
#include "clang/AST/TemplateName.h"
Public Member Functions | |
Decl * | getAssociatedDecl () const |
A template-like entity which owns the whole pattern being substituted. | |
unsigned | getIndex () const |
Returns the index of the replaced parameter in the associated declaration. | |
std::optional< unsigned > | getPackIndex () const |
TemplateTemplateParmDecl * | getParameter () const |
TemplateName | getReplacement () const |
void | Profile (llvm::FoldingSetNodeID &ID) |
Public Member Functions inherited from clang::UncommonTemplateNameStorage | |
OverloadedTemplateStorage * | getAsOverloadedStorage () |
AssumedTemplateStorage * | getAsAssumedTemplateName () |
SubstTemplateTemplateParmStorage * | getAsSubstTemplateTemplateParm () |
SubstTemplateTemplateParmPackStorage * | getAsSubstTemplateTemplateParmPack () |
Static Public Member Functions | |
static void | Profile (llvm::FoldingSetNodeID &ID, TemplateName Replacement, Decl *AssociatedDecl, unsigned Index, std::optional< unsigned > PackIndex) |
Friends | |
class | ASTContext |
Additional Inherited Members | |
Protected Types inherited from clang::UncommonTemplateNameStorage | |
enum | Kind { Overloaded , Assumed , SubstTemplateTemplateParm , SubstTemplateTemplateParmPack } |
Protected Member Functions inherited from clang::UncommonTemplateNameStorage | |
UncommonTemplateNameStorage (Kind Kind, unsigned Index, unsigned Data) | |
Protected Attributes inherited from clang::UncommonTemplateNameStorage | |
union { | |
struct BitsTag Bits | |
void * PointerAlignment | |
}; | |
A structure for storing the information associated with a substituted template template parameter.
Definition at line 374 of file TemplateName.h.
|
inline |
A template-like entity which owns the whole pattern being substituted.
This will own a set of template parameters.
Definition at line 393 of file TemplateName.h.
Referenced by clang::TextNodeDumper::dumpBareTemplateName(), getParameter(), clang::ASTImporter::Import(), and Profile().
|
inline |
Returns the index of the replaced parameter in the associated declaration.
This should match the result of getParameter()->getIndex()
.
Definition at line 397 of file TemplateName.h.
Referenced by clang::TextNodeDumper::dumpBareTemplateName(), clang::ASTImporter::Import(), and Profile().
|
inline |
Definition at line 399 of file TemplateName.h.
Referenced by clang::TextNodeDumper::dumpBareTemplateName(), clang::ASTImporter::Import(), and Profile().
TemplateTemplateParmDecl * SubstTemplateTemplateParmStorage::getParameter | ( | ) | const |
Definition at line 50 of file TemplateName.cpp.
References clang::UncommonTemplateNameStorage::Bits, getAssociatedDecl(), clang::getReplacedTemplateParameterList(), and clang::UncommonTemplateNameStorage::BitsTag::Index.
Referenced by clang::TextNodeDumper::dumpBareTemplateName(), and clang::ASTContext::getNameForTemplate().
|
inline |
Definition at line 406 of file TemplateName.h.
Referenced by clang::TextNodeDumper::dumpBareTemplateName(), clang::ASTContext::getCanonicalTemplateName(), and clang::ASTImporter::Import().
void SubstTemplateTemplateParmStorage::Profile | ( | llvm::FoldingSetNodeID & | ID | ) |
Definition at line 56 of file TemplateName.cpp.
References getAssociatedDecl(), getIndex(), getPackIndex(), and Profile().
Referenced by clang::ASTContext::getSubstTemplateTemplateParm(), and Profile().
|
static |
Definition at line 60 of file TemplateName.cpp.
|
friend |
Definition at line 376 of file TemplateName.h.