clang 22.0.0git
clang::ConstraintSatisfaction Class Reference

The result of a constraint satisfaction check, containing the necessary information to diagnose an unsatisfied constraint. More...

#include "clang/AST/ASTConcept.h"

Inheritance diagram for clang::ConstraintSatisfaction:
[legend]

Public Member Functions

 ConstraintSatisfaction ()=default
 ConstraintSatisfaction (const NamedDecl *ConstraintOwner, ArrayRef< TemplateArgument > TemplateArgs)
void Profile (llvm::FoldingSetNodeID &ID, const ASTContext &C)
bool HasSubstitutionFailure ()

Static Public Member Functions

static void Profile (llvm::FoldingSetNodeID &ID, const ASTContext &C, const NamedDecl *ConstraintOwner, ArrayRef< TemplateArgument > TemplateArgs)

Public Attributes

bool IsSatisfied = false
bool ContainsErrors = false
llvm::SmallVector< UnsatisfiedConstraintRecord, 4 > Details
 The substituted constraint expr, if the template arguments could be substituted into them, or a diagnostic if substitution resulted in an invalid expression.

Detailed Description

The result of a constraint satisfaction check, containing the necessary information to diagnose an unsatisfied constraint.

Definition at line 47 of file ASTConcept.h.

Constructor & Destructor Documentation

◆ ConstraintSatisfaction() [1/2]

clang::ConstraintSatisfaction::ConstraintSatisfaction ( )
default

◆ ConstraintSatisfaction() [2/2]

clang::ConstraintSatisfaction::ConstraintSatisfaction ( const NamedDecl * ConstraintOwner,
ArrayRef< TemplateArgument > TemplateArgs )
inline

Definition at line 57 of file ASTConcept.h.

Member Function Documentation

◆ HasSubstitutionFailure()

bool clang::ConstraintSatisfaction::HasSubstitutionFailure ( )
inline

Definition at line 77 of file ASTConcept.h.

References Details.

◆ Profile() [1/2]

void clang::ConstraintSatisfaction::Profile ( llvm::FoldingSetNodeID & ID,
const ASTContext & C )
inline

Definition at line 69 of file ASTConcept.h.

References clang::C, and Profile().

Referenced by clang::Sema::CheckConstraintSatisfaction(), and Profile().

◆ Profile() [2/2]

void ConstraintSatisfaction::Profile ( llvm::FoldingSetNodeID & ID,
const ASTContext & C,
const NamedDecl * ConstraintOwner,
ArrayRef< TemplateArgument > TemplateArgs )
static

Definition at line 82 of file ASTConcept.cpp.

References clang::C.

Member Data Documentation

◆ ContainsErrors

bool clang::ConstraintSatisfaction::ContainsErrors = false

◆ Details

llvm::SmallVector<UnsatisfiedConstraintRecord, 4> clang::ConstraintSatisfaction::Details

The substituted constraint expr, if the template arguments could be substituted into them, or a diagnostic if substitution resulted in an invalid expression.

Definition at line 67 of file ASTConcept.h.

Referenced by clang::ASTConstraintSatisfaction::ASTConstraintSatisfaction(), clang::ASTConstraintSatisfaction::Create(), clang::Sema::DiagnoseUnsatisfiedConstraint(), HasSubstitutionFailure(), clang::ASTNodeImporter::ImportConstraintSatisfaction(), and readConstraintSatisfaction().

◆ IsSatisfied


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