clang 10.0.0git

Public Member Functions | Protected Attributes | List of all members
clang::ConceptReference Class Reference

Common data class for constructs that reference concepts with template arguments. More...

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

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

## Public Member Functions
| ConceptReference (NestedNameSpecifierLoc NNS, SourceLocation TemplateKWLoc, DeclarationNameInfo ConceptNameInfo, NamedDecl *FoundDecl, ConceptDecl *NamedConcept, const ASTTemplateArgumentListInfo *ArgsAsWritten)
| ConceptReference ()
const NestedNameSpecifierLoc & | getNestedNameSpecifierLoc () const
const DeclarationNameInfo & | getConceptNameInfo () const
SourceLocation | getConceptNameLoc () const
SourceLocation | getTemplateKWLoc () const
NamedDecl * | getFoundDecl () const
ConceptDecl * | getNamedConcept () const
const ASTTemplateArgumentListInfo * | getTemplateArgsAsWritten () const
bool | hasExplicitTemplateArgs () const
| Whether or not template arguments were explicitly specified in the concept reference (they might not be in type constraints, for example) More...

## Protected Attributes
NestedNameSpecifierLoc | NestedNameSpec
SourceLocation | TemplateKWLoc
| The location of the template keyword, if specified when naming the concept. More...
DeclarationNameInfo | ConceptName
| The concept name used. More...
NamedDecl * | FoundDecl
| The declaration found by name lookup when the expression was created. More...
ConceptDecl * | NamedConcept
| The concept named. More...
const ASTTemplateArgumentListInfo * | ArgsAsWritten
| The template argument list source info used to specialize the concept. More...

## Detailed Description

Common data class for constructs that reference concepts with template arguments.

Definition at line 100 of file ASTConcept.h.

## Constructor & Destructor Documentation

## ◆ ConceptReference() [1/2]

clang::ConceptReference::ConceptReference | ( | NestedNameSpecifierLoc | NNS,
|  | SourceLocation | TemplateKWLoc,
|  | DeclarationNameInfo | ConceptNameInfo,
|  | NamedDecl * | FoundDecl,
|  | ConceptDecl * | NamedConcept,
|  | const ASTTemplateArgumentListInfo * | ArgsAsWritten
| ) |  |
| inline

Definition at line 127 of file ASTConcept.h.

## ◆ ConceptReference() [2/2]

clang::ConceptReference::ConceptReference | ( |  | ) |
| inline

Definition at line 135 of file ASTConcept.h.

## Member Function Documentation

## ◆ getConceptNameInfo()

const DeclarationNameInfo& clang::ConceptReference::getConceptNameInfo | ( |  | ) | const
| inline

Definition at line 142 of file ASTConcept.h.

Referenced by addSubstitutionDiagnostic(), clang::for(), clang::TreeTransform< Derived >::TransformOverloadExprDecls(), and clang::ASTDeclWriter::VisitTemplateTypeParmDecl().

## ◆ getConceptNameLoc()

SourceLocation clang::ConceptReference::getConceptNameLoc | ( |  | ) | const
| inline

Definition at line 144 of file ASTConcept.h.

## ◆ getFoundDecl()

NamedDecl* clang::ConceptReference::getFoundDecl | ( |  | ) | const
| inline

Definition at line 150 of file ASTConcept.h.

Referenced by getExpressionTraitName(), and clang::TreeTransform< Derived >::TransformOverloadExprDecls().

## ◆ getNamedConcept()

ConceptDecl* clang::ConceptReference::getNamedConcept | ( |  | ) | const
| inline

Definition at line 154 of file ASTConcept.h.

Referenced by addSubstitutionDiagnostic(), clang::TreeTransform< Derived >::TransformOverloadExprDecls(), and clang::ASTDeclWriter::VisitTemplateTypeParmDecl().

## ◆ getNestedNameSpecifierLoc()

const NestedNameSpecifierLoc& clang::ConceptReference::getNestedNameSpecifierLoc | ( |  | ) | const
| inline

Definition at line 138 of file ASTConcept.h.

Referenced by addSubstitutionDiagnostic(), clang::for(), getExpressionTraitName(), clang::TreeTransform< Derived >::TransformOverloadExprDecls(), and clang::ASTDeclWriter::VisitTemplateTypeParmDecl().

## ◆ getTemplateArgsAsWritten()

const ASTTemplateArgumentListInfo* clang::ConceptReference::getTemplateArgsAsWritten | ( |  | ) | const
| inline

Definition at line 158 of file ASTConcept.h.

Referenced by addSubstitutionDiagnostic(), clang::for(), getExpressionTraitName(), clang::TreeTransform< Derived >::TransformOverloadExprDecls(), and clang::ASTDeclWriter::VisitTemplateTypeParmDecl().

## ◆ getTemplateKWLoc()

SourceLocation clang::ConceptReference::getTemplateKWLoc | ( |  | ) | const
| inline

Definition at line 148 of file ASTConcept.h.

Referenced by addSubstitutionDiagnostic(), getExpressionTraitName(), and clang::TreeTransform< Derived >::TransformOverloadExprDecls().

## ◆ hasExplicitTemplateArgs()

bool clang::ConceptReference::hasExplicitTemplateArgs | ( |  | ) | const
| inline

Whether or not template arguments were explicitly specified in the concept reference (they might not be in type constraints, for example)

Definition at line 164 of file ASTConcept.h.

Referenced by clang::for().

## Member Data Documentation

## ◆ ArgsAsWritten

const ASTTemplateArgumentListInfo* clang::ConceptReference::ArgsAsWritten
| protected

The template argument list source info used to specialize the concept.

Definition at line 123 of file ASTConcept.h.

Referenced by clang::ConceptSpecializationExpr::getEndLoc(), and readConstraintSatisfaction().

## ◆ ConceptName

DeclarationNameInfo clang::ConceptReference::ConceptName
| protected

The concept name used.

Definition at line 110 of file ASTConcept.h.

Referenced by clang::ConceptSpecializationExpr::getBeginLoc(), and readConstraintSatisfaction().

## ◆ FoundDecl

NamedDecl* clang::ConceptReference::FoundDecl
| protected

The declaration found by name lookup when the expression was created.

Can differ from NamedConcept when, for example, the concept was found through a UsingShadowDecl.

Definition at line 116 of file ASTConcept.h.

## ◆ NamedConcept

ConceptDecl* clang::ConceptReference::NamedConcept
| protected

The concept named.

Definition at line 119 of file ASTConcept.h.

Referenced by readConstraintSatisfaction().

## ◆ NestedNameSpec

NestedNameSpecifierLoc clang::ConceptReference::NestedNameSpec
| protected

Definition at line 103 of file ASTConcept.h.

Referenced by readConstraintSatisfaction(), and clang::ConceptSpecializationExpr::setTemplateArguments().

## ◆ TemplateKWLoc

SourceLocation clang::ConceptReference::TemplateKWLoc
| protected

The location of the template keyword, if specified when naming the concept.

Definition at line 107 of file ASTConcept.h.

Referenced by readConstraintSatisfaction().

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

- include/clang/AST/ASTConcept.h