clang 19.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

Public Member Functions

 NestedRequirement (Expr *Constraint)
 NestedRequirement (ASTContext &C, Expr *Constraint, const ConstraintSatisfaction &Satisfaction)
 NestedRequirement (StringRef InvalidConstraintEntity, const ASTConstraintSatisfaction *Satisfaction)
 NestedRequirement (ASTContext &C, StringRef InvalidConstraintEntity, const ConstraintSatisfaction &Satisfaction)
bool hasInvalidConstraint () const
StringRef getInvalidConstraintEntity ()
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 429 of file ExprConcepts.h.

Constructor & Destructor Documentation

◆ NestedRequirement() [1/4]

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

Definition at line 439 of file ExprConcepts.h.

References clang::Expr::isInstantiationDependent().

◆ NestedRequirement() [2/4]

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

Definition at line 448 of file ExprConcepts.h.

◆ NestedRequirement() [3/4]

clang::concepts::NestedRequirement::NestedRequirement ( StringRef  InvalidConstraintEntity,
const ASTConstraintSatisfaction Satisfaction 

Definition at line 456 of file ExprConcepts.h.

◆ NestedRequirement() [4/4]

clang::concepts::NestedRequirement::NestedRequirement ( ASTContext C,
StringRef  InvalidConstraintEntity,
const ConstraintSatisfaction Satisfaction 

Definition at line 465 of file ExprConcepts.h.

Member Function Documentation

◆ classof()

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

◆ getConstraintExpr()

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

◆ getConstraintSatisfaction()

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

◆ getInvalidConstraintEntity()

StringRef clang::concepts::NestedRequirement::getInvalidConstraintEntity ( )

◆ hasInvalidConstraint()

bool clang::concepts::NestedRequirement::hasInvalidConstraint ( ) const

Member Data Documentation

◆ ASTStmtReader

friend clang::concepts::NestedRequirement::ASTStmtReader

Definition at line 436 of file ExprConcepts.h.

◆ ASTStmtWriter

friend clang::concepts::NestedRequirement::ASTStmtWriter

Definition at line 437 of file ExprConcepts.h.

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