clang 8.0.0

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

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

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

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

## 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

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

## Member Function Documentation

## ◆ getIdentifier()

const IdentifierInfo* clang::DependentTemplateName::getIdentifier | ( |  | ) | const
| inline

Returns the identifier to which this template name refers.

Definition at line 485 of file TemplateName.h.

References Identifier.

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

## ◆ getOperator()

OverloadedOperatorKind clang::DependentTemplateName::getOperator | ( |  | ) | const
| inline

Return the overloaded operator to which this template name refers.

Definition at line 495 of file TemplateName.h.

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

## ◆ getQualifier()

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

Return the nested name specifier that qualifies this name.

Definition at line 479 of file TemplateName.h.

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

## ◆ isIdentifier()

bool clang::DependentTemplateName::isIdentifier | ( |  | ) | const
| inline

Determine whether this template name refers to an identifier.

Definition at line 482 of file TemplateName.h.

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

## ◆ isOverloadedOperator()

bool clang::DependentTemplateName::isOverloadedOperator | ( |  | ) | const
| inline

Determine whether this template name refers to an overloaded operator.

Definition at line 492 of file TemplateName.h.

## ◆ Profile() [1/3]

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

Definition at line 501 of file TemplateName.h.

References getIdentifier().

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

## ◆ Profile() [2/3]

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

Definition at line 508 of file TemplateName.h.

## ◆ Profile() [3/3]

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

Definition at line 515 of file TemplateName.h.

## Friends And Related Function Documentation

## ◆ ASTContext

friend class ASTContext
| friend

Definition at line 424 of file TemplateName.h.

## Member Data Documentation

## ◆ Identifier

const IdentifierInfo* clang::DependentTemplateName::Identifier

The identifier template name.

Only valid when the bit on `Qualifier` is clear.

Definition at line 439 of file TemplateName.h.

## ◆ Operator

OverloadedOperatorKind clang::DependentTemplateName::Operator

The overloaded operator name.

Only valid when the bit on `Qualifier` is set.

Definition at line 444 of file TemplateName.h.

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

- include/clang/AST/TemplateName.h