clang 8.0.0

Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::QualifiedTemplateName Class Reference

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

`#include "clang/AST/TemplateName.h"`

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

## Public Member Functions
NestedNameSpecifier * | getQualifier () const
| Return the nested name specifier that qualifies this name. More...
bool | hasTemplateKeyword () const
| Whether the template name was prefixed by the "template" keyword. More...
TemplateDecl * | getDecl () const
| The template declaration that this qualified name refers to. More...
TemplateDecl * | getTemplateDecl () const
| The template declaration to which this qualified name refers. More...
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 367 of file TemplateName.h.

## Member Function Documentation

## ◆ getDecl()

TemplateDecl* clang::QualifiedTemplateName::getDecl | ( |  | ) | const
| inline

The template declaration that this qualified name refers to.

Definition at line 397 of file TemplateName.h.

## ◆ getQualifier()

NestedNameSpecifier* clang::QualifiedTemplateName::getQualifier | ( |  | ) | const
| inline

Return the nested name specifier that qualifies this name.

Definition at line 389 of file TemplateName.h.

Referenced by clang::TypeName::getFullyQualifiedTemplateName(), and clang::ASTImporter::Import().

## ◆ getTemplateDecl()

TemplateDecl* clang::QualifiedTemplateName::getTemplateDecl | ( |  | ) | const
| inline

The template declaration to which this qualified name refers.

Definition at line 401 of file TemplateName.h.

## ◆ hasTemplateKeyword()

bool clang::QualifiedTemplateName::hasTemplateKeyword | ( |  | ) | const
| inline

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

Definition at line 393 of file TemplateName.h.

Referenced by clang::TypeName::getFullyQualifiedTemplateName(), and clang::ASTImporter::Import().

## ◆ Profile() [1/2]

void clang::QualifiedTemplateName::Profile | ( | llvm::FoldingSetNodeID & | ID | ) |
| inline

Definition at line 403 of file TemplateName.h.

Referenced by clang::ASTContext::getQualifiedTemplateName().

## ◆ Profile() [2/2]

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

Definition at line 407 of file TemplateName.h.

## Friends And Related Function Documentation

## ◆ ASTContext

friend class ASTContext
| friend

Definition at line 368 of file TemplateName.h.

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

- include/clang/AST/TemplateName.h