clang 23.0.0git
clang::concepts::ExprRequirement::ReturnTypeRequirement Class Reference

#include "clang/AST/ExprConcepts.h"

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, bool IsDependent)
 A 'type constraint' style return type requirement.
 ReturnTypeRequirement (TemplateParameterList *TPL)
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 292 of file ExprConcepts.h.

Constructor & Destructor Documentation

◆ ReturnTypeRequirement() [1/4]

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

No return type requirement was specified.

Definition at line 302 of file ExprConcepts.h.

References false, and clang::nullptr.

◆ ReturnTypeRequirement() [2/4]

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

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

Definition at line 306 of file ExprConcepts.h.

References false.

◆ ReturnTypeRequirement() [3/4]

concepts::ExprRequirement::ReturnTypeRequirement::ReturnTypeRequirement ( TemplateParameterList * TPL,
bool IsDependent )

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 185 of file ASTConcept.cpp.

◆ ReturnTypeRequirement() [4/4]

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

Member Function Documentation

◆ containsUnexpandedParameterPack()

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

◆ getSubstitutionDiagnostic()

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

Definition at line 343 of file ExprConcepts.h.

References clang::cast(), and isSubstitutionFailure().

Referenced by diagnoseUnsatisfiedRequirement().

◆ getTypeConstraint()

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

Definition at line 94 of file ExprConcepts.cpp.

References clang::cast(), and isTypeConstraint().

◆ getTypeConstraintTemplateParameterList()

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

◆ isDependent()

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

Definition at line 318 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 333 of file ExprConcepts.h.

References clang::isa(), and 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 298 of file ExprConcepts.h.

◆ ASTStmtWriter

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

Definition at line 299 of file ExprConcepts.h.


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