clang 22.0.0git
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:
[legend]

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 432 of file ExprConcepts.h.

Constructor & Destructor Documentation

◆ NestedRequirement() [1/4]

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

◆ NestedRequirement() [2/4]

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

◆ NestedRequirement() [3/4]

clang::concepts::NestedRequirement::NestedRequirement ( StringRef InvalidConstraintEntity,
const ASTConstraintSatisfaction * Satisfaction )
inline

◆ NestedRequirement() [4/4]

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

Definition at line 468 of file ExprConcepts.h.

References clang::C, clang::Create(), and NestedRequirement().

Member Function Documentation

◆ classof()

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

◆ getConstraintExpr()

◆ getConstraintSatisfaction()

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

◆ getInvalidConstraintEntity()

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

◆ hasInvalidConstraint()

Member Data Documentation

◆ ASTStmtReader

friend clang::concepts::NestedRequirement::ASTStmtReader

Definition at line 439 of file ExprConcepts.h.

◆ ASTStmtWriter

friend clang::concepts::NestedRequirement::ASTStmtWriter

Definition at line 440 of file ExprConcepts.h.


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