clang API Documentation

Public Member Functions | Static Public Member Functions | Friends
clang::DependentTemplateName Class Reference

Represents a dependent template name that cannot be resolved prior to template instantiation. More...

#include <TemplateName.h>

Inheritance diagram for clang::DependentTemplateName:
Inheritance graph
[legend]
Collaboration diagram for clang::DependentTemplateName:
Collaboration graph
[legend]

List of all members.

Public Member Functions

NestedNameSpecifiergetQualifier () const
 Return the nested name specifier that qualifies this name.
bool isIdentifier () const
 Determine whether this template name refers to an identifier.
const IdentifierInfogetIdentifier () 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

Detailed Description

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.


Member Function Documentation

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().

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().

Determine whether this template name refers to an overloaded operator.

Definition at line 509 of file TemplateName.h.

Referenced by getOperator().

void clang::DependentTemplateName::Profile ( llvm::FoldingSetNodeID &  ID) [inline]
static void clang::DependentTemplateName::Profile ( llvm::FoldingSetNodeID &  ID,
NestedNameSpecifier NNS,
const IdentifierInfo Identifier 
) [inline, static]

Definition at line 525 of file TemplateName.h.

static void clang::DependentTemplateName::Profile ( llvm::FoldingSetNodeID &  ID,
NestedNameSpecifier NNS,
OverloadedOperatorKind  Operator 
) [inline, static]

Definition at line 532 of file TemplateName.h.


Friends And Related Function Documentation

friend class ASTContext [friend]

Definition at line 470 of file TemplateName.h.


Member Data Documentation

The identifier template name.

Only valid when the bit on Qualifier is clear.

Definition at line 454 of file TemplateName.h.

Referenced by getIdentifier().

The overloaded operator name.

Only valid when the bit on Qualifier is set.

Definition at line 459 of file TemplateName.h.

Referenced by getOperator().


The documentation for this class was generated from the following file: