clang
3.7.0
|
Represents a dependent template name that cannot be resolved prior to template instantiation. More...
#include <TemplateName.h>
Public Member Functions | |
NestedNameSpecifier * | getQualifier () const |
Return the nested name specifier that qualifies this name. More... | |
bool | isIdentifier () const |
Determine whether this template name refers to an identifier. More... | |
const IdentifierInfo * | getIdentifier () const |
Returns the identifier to which this template name refers. More... | |
bool | isOverloadedOperator () const |
Determine whether this template name refers to an overloaded operator. More... | |
OverloadedOperatorKind | getOperator () const |
Return the overloaded operator to which this template name refers. More... | |
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 440 of file TemplateName.h.
|
inline |
Returns the identifier to which this template name refers.
Definition at line 502 of file TemplateName.h.
References Identifier, and isIdentifier().
Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::ASTWriter::AddTemplateName(), clang::Sema::CheckTemplateIdType(), clang::ASTContext::getNameForTemplate(), clang::ASTImporter::Import(), and Profile().
|
inline |
Return the overloaded operator to which this template name refers.
Definition at line 512 of file TemplateName.h.
References isOverloadedOperator(), and Operator.
Referenced by clang::ASTWriter::AddTemplateName(), clang::ASTContext::getNameForTemplate(), clang::ASTImporter::Import(), and Profile().
|
inline |
Return the nested name specifier that qualifies this name.
Definition at line 496 of file TemplateName.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::ASTWriter::AddTemplateName(), clang::Sema::CheckTemplateIdType(), clang::ASTImporter::Import(), and Profile().
|
inline |
Determine whether this template name refers to an identifier.
Definition at line 499 of file TemplateName.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::ASTWriter::AddTemplateName(), clang::Sema::CheckTemplateIdType(), getIdentifier(), clang::ASTContext::getNameForTemplate(), clang::ASTImporter::Import(), and Profile().
|
inline |
Determine whether this template name refers to an overloaded operator.
Definition at line 509 of file TemplateName.h.
Referenced by getOperator().
|
inline |
Definition at line 518 of file TemplateName.h.
References getIdentifier(), getOperator(), getQualifier(), and isIdentifier().
Referenced by clang::ASTContext::getDependentTemplateName().
|
inlinestatic |
Definition at line 525 of file TemplateName.h.
|
inlinestatic |
Definition at line 532 of file TemplateName.h.
|
friend |
Definition at line 470 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 454 of file TemplateName.h.
Referenced by getIdentifier().
OverloadedOperatorKind clang::DependentTemplateName::Operator |
The overloaded operator name.
Only valid when the bit on Qualifier
is set.
Definition at line 459 of file TemplateName.h.
Referenced by getOperator().