clang 20.0.0git
|
Represents a dependent template name that cannot be resolved prior to template instantiation. More...
#include "clang/AST/TemplateName.h"
Public Member Functions | |
NestedNameSpecifier * | getQualifier () const |
Return the nested name specifier that qualifies this name. | |
bool | isIdentifier () const |
Determine whether this template name refers to an identifier. | |
const IdentifierInfo * | getIdentifier () const |
Returns the identifier to which this template name refers. | |
bool | isOverloadedOperator () const |
Determine whether this template name refers to an overloaded operator. | |
OverloadedOperatorKind | getOperator () const |
Return the overloaded operator to which this template name refers. | |
void | Profile (llvm::FoldingSetNodeID &ID) |
Static Public Member Functions | |
static void | Profile (llvm::FoldingSetNodeID &ID, NestedNameSpecifier *NNS, const IdentifierInfo *Identifier) |
static void | Profile (llvm::FoldingSetNodeID &ID, NestedNameSpecifier *NNS, OverloadedOperatorKind Operator) |
Friends | |
class | ASTContext |
Represents a dependent template name that cannot be resolved prior to template instantiation.
This kind of template name refers to a dependent template name, including its nested name specifier (if any). For example, DependentTemplateName can refer to "MetaFun::template apply", where "MetaFun::" is the nested name specifier and "apply" is the template name referenced. The "template" keyword is implied.
Definition at line 548 of file TemplateName.h.
|
inline |
Returns the identifier to which this template name refers.
Definition at line 610 of file TemplateName.h.
References Identifier.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::CheckTemplateIdType(), clang::ASTContext::getNameForTemplate(), clang::ASTImporter::Import(), and IsStructurallyEquivalent().
|
inline |
Return the overloaded operator to which this template name refers.
Definition at line 620 of file TemplateName.h.
Referenced by clang::ASTContext::getNameForTemplate(), clang::ASTImporter::Import(), and IsStructurallyEquivalent().
|
inline |
Return the nested name specifier that qualifies this name.
Definition at line 604 of file TemplateName.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::CheckTemplateIdType(), clang::TextNodeDumper::dumpBareTemplateName(), clang::ASTImporter::Import(), and IsStructurallyEquivalent().
|
inline |
Determine whether this template name refers to an identifier.
Definition at line 607 of file TemplateName.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::Sema::CheckTemplateIdType(), clang::ASTContext::getNameForTemplate(), clang::ASTImporter::Import(), and IsStructurallyEquivalent().
|
inline |
Determine whether this template name refers to an overloaded operator.
Definition at line 617 of file TemplateName.h.
Referenced by IsStructurallyEquivalent().
|
inline |
Definition at line 626 of file TemplateName.h.
References getIdentifier(), and ID.
Referenced by clang::ASTContext::getDependentTemplateName().
|
inlinestatic |
Definition at line 633 of file TemplateName.h.
References ID, and Identifier.
|
inlinestatic |
Definition at line 640 of file TemplateName.h.
References ID.
|
friend |
Definition at line 549 of file TemplateName.h.
const IdentifierInfo* clang::DependentTemplateName::Identifier |
The identifier template name.
Only valid when the bit on Qualifier
is clear.
Definition at line 564 of file TemplateName.h.
OverloadedOperatorKind clang::DependentTemplateName::Operator |
The overloaded operator name.
Only valid when the bit on Qualifier
is set.
Definition at line 569 of file TemplateName.h.