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 491 of file TemplateName.h.
|
inline |
Returns the identifier to which this template name refers.
Definition at line 553 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 563 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 547 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 550 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 560 of file TemplateName.h.
Referenced by IsStructurallyEquivalent().
|
inline |
Definition at line 569 of file TemplateName.h.
References getIdentifier(), and ID.
Referenced by clang::ASTContext::getDependentTemplateName().
|
inlinestatic |
Definition at line 576 of file TemplateName.h.
References ID, and Identifier.
|
inlinestatic |
Definition at line 583 of file TemplateName.h.
References ID.
|
friend |
Definition at line 492 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 507 of file TemplateName.h.
OverloadedOperatorKind clang::DependentTemplateName::Operator |
The overloaded operator name.
Only valid when the bit on Qualifier
is set.
Definition at line 512 of file TemplateName.h.