clang 17.0.0git
|
#include "clang/AST/ASTConcept.h"
Public Member Functions | |
TypeConstraint (NestedNameSpecifierLoc NNS, DeclarationNameInfo ConceptNameInfo, NamedDecl *FoundDecl, ConceptDecl *NamedConcept, const ASTTemplateArgumentListInfo *ArgsAsWritten, Expr *ImmediatelyDeclaredConstraint) | |
Expr * | getImmediatelyDeclaredConstraint () const |
Get the immediately-declared constraint expression introduced by this type-constraint, that is - the constraint expression that is added to the associated constraints of the enclosing declaration in practice. | |
void | print (llvm::raw_ostream &OS, PrintingPolicy Policy) const |
![]() | |
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) | |
Additional Inherited Members | |
![]() | |
NestedNameSpecifierLoc | NestedNameSpec |
SourceLocation | TemplateKWLoc |
The location of the template keyword, if specified when naming the concept. | |
DeclarationNameInfo | ConceptName |
The concept name used. | |
NamedDecl * | FoundDecl |
The declaration found by name lookup when the expression was created. | |
ConceptDecl * | NamedConcept |
The concept named. | |
const ASTTemplateArgumentListInfo * | ArgsAsWritten |
The template argument list source info used to specialize the concept. | |
Definition at line 180 of file ASTConcept.h.
|
inline |
Definition at line 186 of file ASTConcept.h.
|
inline |
Get the immediately-declared constraint expression introduced by this type-constraint, that is - the constraint expression that is added to the associated constraints of the enclosing declaration in practice.
Definition at line 198 of file ASTConcept.h.
Referenced by clang::ASTContext::isSameTypeConstraint(), clang::concepts::ExprRequirement::ReturnTypeRequirement::ReturnTypeRequirement(), clang::Sema::SubstTypeConstraint(), and clang::ASTDeclWriter::VisitTemplateTypeParmDecl().
void TypeConstraint::print | ( | llvm::raw_ostream & | OS, |
PrintingPolicy | Policy | ||
) | const |
Definition at line 1542 of file DeclTemplate.cpp.
References clang::ConceptReference::ArgsAsWritten, clang::ASTTemplateArgumentListInfo::arguments(), clang::ConceptReference::ConceptName, clang::NestedNameSpecifierLoc::getNestedNameSpecifier(), clang::ConceptReference::hasExplicitTemplateArgs(), clang::ConceptReference::NestedNameSpec, clang::NestedNameSpecifier::print(), and clang::DeclarationNameInfo::printName().