clang 22.0.0git
|
Represents a template name as written in source code. More...
#include "clang/AST/TemplateName.h"
Public Member Functions | |
NestedNameSpecifier | getQualifier () const |
Return the nested name specifier that qualifies this name. | |
bool | hasTemplateKeyword () const |
Whether the template name was prefixed by the "template" keyword. | |
TemplateName | getUnderlyingTemplate () const |
Return the underlying template name. | |
void | Profile (llvm::FoldingSetNodeID &ID) |
Static Public Member Functions | |
static void | Profile (llvm::FoldingSetNodeID &ID, NestedNameSpecifier NNS, bool TemplateKeyword, TemplateName TN) |
Friends | |
class | ASTContext |
Represents a template name as written in source code.
This kind of template name may refer to a template name that was preceded by a nested name specifier, e.g., std::vector
. Here, the nested name specifier is "std::" and the template name is the declaration for "vector". It may also have been written with the 'template' keyword. The QualifiedTemplateName class is only used to provide "sugar" for template names, so that they can be differentiated from canonical template names. and has no semantic meaning. In this manner, it is to TemplateName what ElaboratedType is to Type, providing extra syntactic sugar for downstream clients.
Definition at line 504 of file TemplateName.h.
|
inline |
Return the nested name specifier that qualifies this name.
Definition at line 532 of file TemplateName.h.
Referenced by clang::ODRHash::AddTemplateName(), clang::TextNodeDumper::dumpBareTemplateName(), clang::TemplateName::getDependence(), clang::TypeName::getFullyQualifiedTemplateName(), clang::ASTImporter::Import(), and Profile().
|
inline |
Return the underlying template name.
Definition at line 539 of file TemplateName.h.
Referenced by clang::ODRHash::AddTemplateName(), clang::TextNodeDumper::dumpBareTemplateName(), clang::TemplateName::getDependence(), and clang::ASTImporter::Import().
|
inline |
Whether the template name was prefixed by the "template" keyword.
Definition at line 536 of file TemplateName.h.
Referenced by clang::ODRHash::AddTemplateName(), clang::TextNodeDumper::dumpBareTemplateName(), clang::TypeName::getFullyQualifiedTemplateName(), clang::ASTImporter::Import(), and Profile().
|
inline |
Definition at line 541 of file TemplateName.h.
References getQualifier(), hasTemplateKeyword(), and Profile().
Referenced by clang::ASTContext::getQualifiedTemplateName(), and Profile().
|
inlinestatic |
Definition at line 545 of file TemplateName.h.
References clang::TemplateName::getAsVoidPointer(), and clang::NestedNameSpecifier::Profile().
|
friend |
Definition at line 505 of file TemplateName.h.
References ASTContext, clang::Template, clang::TemplateName::Template, and clang::TemplateName::UsingTemplate.
Referenced by ASTContext.