class TypeRequirement

Declaration

class TypeRequirement : public Requirement { /* full declaration omitted */ };

Description

A requires-expression requirement which queries the existence of a type name or type template specialization ('type' requirements).

Declared at: clang/include/clang/AST/ExprConcepts.h:205

Inherits from: Requirement

Member Variables

private llvm::PointerUnion<SubstitutionDiagnostic*, TypeSourceInfo*> Value
private clang::concepts::TypeRequirement:: SatisfactionStatus Status

Method Overview

Inherited from Requirement:

Methods

TypeRequirement(clang::TypeSourceInfo* T)

Description

Construct a type requirement from a type. If the given type is not dependent, this indicates that the type exists and the requirement will be satisfied. Otherwise, the SubstitutionDiagnostic constructor is to be used.

Declared at: clang/include/clang/AST/ExprConcepts.h:223

Parameters

clang::TypeSourceInfo* T

TypeRequirement(
    clang::concepts::Requirement::
        SubstitutionDiagnostic* Diagnostic)

Description

Construct a type requirement when the nested name specifier is invalid due to a bad substitution. The requirement is unsatisfied.

Declared at: clang/include/clang/AST/ExprConcepts.h:227

Parameters

clang::concepts::Requirement:: SubstitutionDiagnostic* Diagnostic

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

Declared at: clang/include/clang/AST/ExprConcepts.h:253

Parameters

const clang::concepts::Requirement* R

clang::concepts::TypeRequirement::
    SatisfactionStatus
    getSatisfactionStatus() const

Declared at: clang/include/clang/AST/ExprConcepts.h:231

clang::concepts::Requirement::
    SubstitutionDiagnostic*
    getSubstitutionDiagnostic() const

Declared at: clang/include/clang/AST/ExprConcepts.h:240

clang::TypeSourceInfo* getType() const

Declared at: clang/include/clang/AST/ExprConcepts.h:247

bool isSubstitutionFailure() const

Declared at: clang/include/clang/AST/ExprConcepts.h:236

void setSatisfactionStatus(
    clang::concepts::TypeRequirement::
        SatisfactionStatus Status)

Declared at: clang/include/clang/AST/ExprConcepts.h:232

Parameters

clang::concepts::TypeRequirement:: SatisfactionStatus Status