clang  15.0.0git
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:
Inheritance graph
[legend]
Collaboration diagram for clang::QualifiedTemplateName:
Collaboration graph
[legend]

Public Member Functions

NestedNameSpecifiergetQualifier () 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...
 
TemplateName getUnderlyingTemplate () const
 Return the underlying template name. More...
 
void Profile (llvm::FoldingSetNodeID &ID)
 

Static Public Member Functions

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

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 405 of file TemplateName.h.

Member Function Documentation

◆ getQualifier()

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

Return the nested name specifier that qualifies this name.

Definition at line 433 of file TemplateName.h.

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

◆ getUnderlyingTemplate()

TemplateName clang::QualifiedTemplateName::getUnderlyingTemplate ( ) const
inline

Return the underlying template name.

Definition at line 440 of file TemplateName.h.

Referenced by clang::ASTImporter::Import().

◆ hasTemplateKeyword()

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

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

Definition at line 437 of file TemplateName.h.

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

◆ Profile() [1/2]

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

Definition at line 442 of file TemplateName.h.

References getQualifier(), and hasTemplateKeyword().

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

◆ Profile() [2/2]

static void clang::QualifiedTemplateName::Profile ( llvm::FoldingSetNodeID &  ID,
NestedNameSpecifier NNS,
bool  TemplateKeyword,
TemplateName  TN 
)
inlinestatic

Definition at line 446 of file TemplateName.h.

References clang::TemplateName::getAsVoidPointer().

Friends And Related Function Documentation

◆ ASTContext

friend class ASTContext
friend

Definition at line 406 of file TemplateName.h.


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