clang 17.0.0git
Public Member Functions | List of all members
clang::TypeConstraint Class Reference

#include "clang/AST/ASTConcept.h"

Inheritance diagram for clang::TypeConstraint:
Inheritance graph
[legend]
Collaboration diagram for clang::TypeConstraint:
Collaboration graph
[legend]

Public Member Functions

 TypeConstraint (NestedNameSpecifierLoc NNS, DeclarationNameInfo ConceptNameInfo, NamedDecl *FoundDecl, ConceptDecl *NamedConcept, const ASTTemplateArgumentListInfo *ArgsAsWritten, Expr *ImmediatelyDeclaredConstraint)
 
ExprgetImmediatelyDeclaredConstraint () 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
 
- Public Member Functions inherited from clang::ConceptReference
 ConceptReference (NestedNameSpecifierLoc NNS, SourceLocation TemplateKWLoc, DeclarationNameInfo ConceptNameInfo, NamedDecl *FoundDecl, ConceptDecl *NamedConcept, const ASTTemplateArgumentListInfo *ArgsAsWritten)
 
 ConceptReference ()
 
const NestedNameSpecifierLocgetNestedNameSpecifierLoc () const
 
const DeclarationNameInfogetConceptNameInfo () const
 
SourceLocation getConceptNameLoc () const
 
SourceLocation getTemplateKWLoc () const
 
NamedDeclgetFoundDecl () const
 
ConceptDeclgetNamedConcept () const
 
const ASTTemplateArgumentListInfogetTemplateArgsAsWritten () 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

- Protected Attributes inherited from clang::ConceptReference
NestedNameSpecifierLoc NestedNameSpec
 
SourceLocation TemplateKWLoc
 The location of the template keyword, if specified when naming the concept.
 
DeclarationNameInfo ConceptName
 The concept name used.
 
NamedDeclFoundDecl
 The declaration found by name lookup when the expression was created.
 
ConceptDeclNamedConcept
 The concept named.
 
const ASTTemplateArgumentListInfoArgsAsWritten
 The template argument list source info used to specialize the concept.
 

Detailed Description

Definition at line 180 of file ASTConcept.h.

Constructor & Destructor Documentation

◆ TypeConstraint()

clang::TypeConstraint::TypeConstraint ( NestedNameSpecifierLoc  NNS,
DeclarationNameInfo  ConceptNameInfo,
NamedDecl FoundDecl,
ConceptDecl NamedConcept,
const ASTTemplateArgumentListInfo ArgsAsWritten,
Expr ImmediatelyDeclaredConstraint 
)
inline

Definition at line 186 of file ASTConcept.h.

Member Function Documentation

◆ getImmediatelyDeclaredConstraint()

Expr * clang::TypeConstraint::getImmediatelyDeclaredConstraint ( ) const
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().

◆ print()

void TypeConstraint::print ( llvm::raw_ostream &  OS,
PrintingPolicy  Policy 
) const

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