clang API Documentation

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

Represents a template name that was expressed as a qualified name. More...

#include <TemplateName.h>

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

List of all members.

Public Member Functions

NestedNameSpecifiergetQualifier () const
 Return the nested name specifier that qualifies this name.
bool hasTemplateKeyword () const
 Whether the template name was prefixed by the "template" keyword.
TemplateDeclgetDecl () const
 The template declaration that this qualified name refers to.
TemplateDeclgetTemplateDecl () const
 The template declaration to which this qualified name refers.
void Profile (llvm::FoldingSetNodeID &ID)

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &ID, NestedNameSpecifier *NNS, bool TemplateKeyword, TemplateDecl *Template)

Friends

class ASTContext

Detailed Description

Represents a template name that was expressed as a qualified name.

This kind of template name refers to a template name that was preceded by a nested name specifier, e.g., std::vector. Here, the nested name specifier is "std::" and the template name is the declaration for "vector". The QualifiedTemplateName class is only used to provide "sugar" for template names that were expressed with a qualified name, and has no semantic meaning. In this manner, it is to TemplateName what ElaboratedType is to Type, providing extra syntactic sugar for downstream clients.

Definition at line 383 of file TemplateName.h.


Member Function Documentation

The template declaration that this qualified name refers to.

Definition at line 414 of file TemplateName.h.

Return the nested name specifier that qualifies this name.

Definition at line 406 of file TemplateName.h.

Referenced by clang::ASTWriter::AddTemplateName(), clang::ASTImporter::Import(), and Profile().

The template declaration to which this qualified name refers.

Definition at line 418 of file TemplateName.h.

Referenced by clang::ASTWriter::AddTemplateName(), and Profile().

Whether the template name was prefixed by the "template" keyword.

Definition at line 410 of file TemplateName.h.

Referenced by clang::ASTWriter::AddTemplateName(), clang::ASTImporter::Import(), and Profile().

void clang::QualifiedTemplateName::Profile ( llvm::FoldingSetNodeID &  ID) [inline]
static void clang::QualifiedTemplateName::Profile ( llvm::FoldingSetNodeID &  ID,
NestedNameSpecifier NNS,
bool  TemplateKeyword,
TemplateDecl Template 
) [inline, static]

Definition at line 424 of file TemplateName.h.


Friends And Related Function Documentation

friend class ASTContext [friend]

Definition at line 397 of file TemplateName.h.


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