clang 17.0.0git
Public Member Functions | Public Attributes | List of all members
clang::concepts::ExprRequirement::ReturnTypeRequirement Class Reference

#include "clang/AST/ExprConcepts.h"

Collaboration diagram for clang::concepts::ExprRequirement::ReturnTypeRequirement:
Collaboration graph
[legend]

Public Member Functions

 ReturnTypeRequirement ()
 No return type requirement was specified.
 
 ReturnTypeRequirement (SubstitutionDiagnostic *SubstDiag)
 A return type requirement was specified but it was a substitution failure.
 
 ReturnTypeRequirement (TemplateParameterList *TPL)
 A 'type constraint' style return type requirement.
 
bool isDependent () const
 
bool containsUnexpandedParameterPack () const
 
bool isEmpty () const
 
bool isSubstitutionFailure () const
 
bool isTypeConstraint () const
 
SubstitutionDiagnosticgetSubstitutionDiagnostic () const
 
const TypeConstraintgetTypeConstraint () const
 
TemplateParameterListgetTypeConstraintTemplateParameterList () const
 

Public Attributes

friend ASTStmtReader
 
friend ASTStmtWriter
 

Detailed Description

Definition at line 265 of file ExprConcepts.h.

Constructor & Destructor Documentation

◆ ReturnTypeRequirement() [1/3]

clang::concepts::ExprRequirement::ReturnTypeRequirement::ReturnTypeRequirement ( )
inline

No return type requirement was specified.

Definition at line 275 of file ExprConcepts.h.

◆ ReturnTypeRequirement() [2/3]

clang::concepts::ExprRequirement::ReturnTypeRequirement::ReturnTypeRequirement ( SubstitutionDiagnostic SubstDiag)
inline

A return type requirement was specified but it was a substitution failure.

Definition at line 279 of file ExprConcepts.h.

◆ ReturnTypeRequirement() [3/3]

concepts::ExprRequirement::ReturnTypeRequirement::ReturnTypeRequirement ( TemplateParameterList TPL)

A 'type constraint' style return type requirement.

Parameters
TPLan invented template parameter list containing a single type parameter with a type-constraint.

Definition at line 1526 of file SemaConcept.cpp.

References clang::TemplateSpecializationType::anyInstantiationDependentTemplateArguments(), clang::TypeConstraint::getImmediatelyDeclaredConstraint(), clang::TemplateParameterList::getParam(), and clang::TemplateParameterList::size().

Member Function Documentation

◆ containsUnexpandedParameterPack()

bool clang::concepts::ExprRequirement::ReturnTypeRequirement::containsUnexpandedParameterPack ( ) const
inline

◆ getSubstitutionDiagnostic()

SubstitutionDiagnostic * clang::concepts::ExprRequirement::ReturnTypeRequirement::getSubstitutionDiagnostic ( ) const
inline

Definition at line 315 of file ExprConcepts.h.

References isSubstitutionFailure().

Referenced by diagnoseUnsatisfiedRequirement().

◆ getTypeConstraint()

const TypeConstraint * concepts::ExprRequirement::ReturnTypeRequirement::getTypeConstraint ( ) const

Definition at line 107 of file ExprConcepts.cpp.

References isTypeConstraint().

◆ getTypeConstraintTemplateParameterList()

TemplateParameterList * clang::concepts::ExprRequirement::ReturnTypeRequirement::getTypeConstraintTemplateParameterList ( ) const
inline

◆ isDependent()

bool clang::concepts::ExprRequirement::ReturnTypeRequirement::isDependent ( ) const
inline

Definition at line 290 of file ExprConcepts.h.

Referenced by clang::Sema::BuildExprRequirement().

◆ isEmpty()

bool clang::concepts::ExprRequirement::ReturnTypeRequirement::isEmpty ( ) const
inline

◆ isSubstitutionFailure()

bool clang::concepts::ExprRequirement::ReturnTypeRequirement::isSubstitutionFailure ( ) const
inline

Definition at line 305 of file ExprConcepts.h.

References isEmpty().

Referenced by clang::Sema::BuildExprRequirement(), and getSubstitutionDiagnostic().

◆ isTypeConstraint()

bool clang::concepts::ExprRequirement::ReturnTypeRequirement::isTypeConstraint ( ) const
inline

Member Data Documentation

◆ ASTStmtReader

friend clang::concepts::ExprRequirement::ReturnTypeRequirement::ASTStmtReader

Definition at line 271 of file ExprConcepts.h.

◆ ASTStmtWriter

friend clang::concepts::ExprRequirement::ReturnTypeRequirement::ASTStmtWriter

Definition at line 272 of file ExprConcepts.h.


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