clang
3.9.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 412 of file TemplateName.h.
|
inline |
Returns the identifier to which this template name refers.
Definition at line 474 of file TemplateName.h.
References Identifier, and isIdentifier().
Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::ASTRecordWriter::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 484 of file TemplateName.h.
References isOverloadedOperator(), and Operator.
Referenced by clang::ASTRecordWriter::AddTemplateName(), clang::ASTContext::getNameForTemplate(), clang::ASTImporter::Import(), and Profile().
|
inline |
Return the nested name specifier that qualifies this name.
Definition at line 468 of file TemplateName.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::ASTRecordWriter::AddTemplateName(), clang::Sema::CheckTemplateIdType(), clang::ASTImporter::Import(), and Profile().
|
inline |
Determine whether this template name refers to an identifier.
Definition at line 471 of file TemplateName.h.
Referenced by clang::Sema::ActOnCXXNestedNameSpecifier(), clang::ASTRecordWriter::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 481 of file TemplateName.h.
Referenced by getOperator().
|
inline |
Definition at line 490 of file TemplateName.h.
References getIdentifier(), getOperator(), getQualifier(), and isIdentifier().
Referenced by clang::ASTContext::getDependentTemplateName().
|
inlinestatic |
Definition at line 497 of file TemplateName.h.
|
inlinestatic |
Definition at line 504 of file TemplateName.h.
|
friend |
Definition at line 442 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 426 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 431 of file TemplateName.h.
Referenced by getOperator().