class ConstraintSatisfaction

Declaration

class ConstraintSatisfaction : public Node { /* full declaration omitted */ };

Description

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

Declared at: clang/include/clang/AST/ASTConcept.h:28

Inherits from: FoldingSetBase::Node

Member Variables

private const clang::NamedDecl* ConstraintOwner = nullptr
private llvm::SmallVector<TemplateArgument, 4> TemplateArgs
public bool IsSatisfied = false
public llvm::SmallVector<std::pair<const Expr*, Detail>, 4> Details

Method Overview

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

Inherited from FoldingSetBase::Node:

Methods

ConstraintSatisfaction()

Declared at: clang/include/clang/AST/ASTConcept.h:36

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

Declared at: clang/include/clang/AST/ASTConcept.h:38

Parameters

const clang::NamedDecl* ConstraintOwner
ArrayRef<clang::TemplateArgument> TemplateArgs

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

Declared at: clang/include/clang/AST/ASTConcept.h:54

Parameters

llvm::FoldingSetNodeID& ID
const clang::ASTContext& C

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

Declared at: clang/include/clang/AST/ASTConcept.h:58

Parameters

llvm::FoldingSetNodeID& ID
const clang::ASTContext& C
const clang::NamedDecl* ConstraintOwner
ArrayRef<clang::TemplateArgument> TemplateArgs