clang  12.0.0git
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
clang::concepts::NestedRequirement Class Reference

A requires-expression requirement which is satisfied when a general constraint expression is satisfied ('nested' requirements). More...

#include "clang/AST/ExprConcepts.h"

Inheritance diagram for clang::concepts::NestedRequirement:
Inheritance graph
[legend]
Collaboration diagram for clang::concepts::NestedRequirement:
Collaboration graph
[legend]

Public Member Functions

 NestedRequirement (SubstitutionDiagnostic *SubstDiag)
 
 NestedRequirement (Expr *Constraint)
 
 NestedRequirement (ASTContext &C, Expr *Constraint, const ConstraintSatisfaction &Satisfaction)
 
bool isSubstitutionFailure () const
 
SubstitutionDiagnosticgetSubstitutionDiagnostic () const
 
ExprgetConstraintExpr () const
 
const ASTConstraintSatisfactiongetConstraintSatisfaction () const
 
- Public Member Functions inherited from clang::concepts::Requirement
 Requirement (RequirementKind Kind, bool IsDependent, bool ContainsUnexpandedParameterPack, bool IsSatisfied=true)
 
RequirementKind getKind () const
 
bool isSatisfied () const
 
void setSatisfied (bool IsSatisfied)
 
void setDependent (bool IsDependent)
 
bool isDependent () const
 
void setContainsUnexpandedParameterPack (bool Contains)
 
bool containsUnexpandedParameterPack () const
 

Static Public Member Functions

static bool classof (const Requirement *R)
 

Public Attributes

friend ASTStmtReader
 
friend ASTStmtWriter
 

Additional Inherited Members

- Public Types inherited from clang::concepts::Requirement
enum  RequirementKind { RK_Type, RK_Simple, RK_Compound, RK_Nested }
 

Detailed Description

A requires-expression requirement which is satisfied when a general constraint expression is satisfied ('nested' requirements).

Definition at line 403 of file ExprConcepts.h.

Constructor & Destructor Documentation

◆ NestedRequirement() [1/3]

clang::concepts::NestedRequirement::NestedRequirement ( SubstitutionDiagnostic SubstDiag)
inline

Definition at line 411 of file ExprConcepts.h.

◆ NestedRequirement() [2/3]

clang::concepts::NestedRequirement::NestedRequirement ( Expr Constraint)
inline

Definition at line 416 of file ExprConcepts.h.

References clang::Expr::isInstantiationDependent().

◆ NestedRequirement() [3/3]

clang::concepts::NestedRequirement::NestedRequirement ( ASTContext C,
Expr Constraint,
const ConstraintSatisfaction Satisfaction 
)
inline

Definition at line 425 of file ExprConcepts.h.

Member Function Documentation

◆ classof()

static bool clang::concepts::NestedRequirement::classof ( const Requirement R)
inlinestatic

Definition at line 458 of file ExprConcepts.h.

References clang::concepts::Requirement::getKind().

◆ getConstraintExpr()

Expr* clang::concepts::NestedRequirement::getConstraintExpr ( ) const
inline

◆ getConstraintSatisfaction()

const ASTConstraintSatisfaction& clang::concepts::NestedRequirement::getConstraintSatisfaction ( ) const
inline

Definition at line 451 of file ExprConcepts.h.

References clang::ConceptSpecializationExpr::Satisfaction.

◆ getSubstitutionDiagnostic()

SubstitutionDiagnostic* clang::concepts::NestedRequirement::getSubstitutionDiagnostic ( ) const
inline

◆ isSubstitutionFailure()

bool clang::concepts::NestedRequirement::isSubstitutionFailure ( ) const
inline

Member Data Documentation

◆ ASTStmtReader

friend clang::concepts::NestedRequirement::ASTStmtReader

Definition at line 408 of file ExprConcepts.h.

◆ ASTStmtWriter

friend clang::concepts::NestedRequirement::ASTStmtWriter

Definition at line 409 of file ExprConcepts.h.


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