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
- public TypeRequirement(clang::TypeSourceInfo * T)
- public TypeRequirement(clang::concepts::Requirement::SubstitutionDiagnostic * Diagnostic)
- public static bool classof(const clang::concepts::Requirement * R)
- public clang::concepts::TypeRequirement::SatisfactionStatus getSatisfactionStatus() const
- public clang::concepts::Requirement::SubstitutionDiagnostic * getSubstitutionDiagnostic() const
- public clang::TypeSourceInfo * getType() const
- public bool isSubstitutionFailure() const
- public void setSatisfactionStatus(clang::concepts::TypeRequirement::SatisfactionStatus Status)
Inherited from Requirement:
- public containsUnexpandedParameterPack
- public getKind
- public isDependent
- public isSatisfied
- public setContainsUnexpandedParameterPack
- public setDependent
- public setSatisfied
Methods
¶TypeRequirement(clang::TypeSourceInfo* T)
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
¶TypeRequirement(
clang::concepts::Requirement::
SubstitutionDiagnostic* Diagnostic)
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)
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
clang::concepts::TypeRequirement::
SatisfactionStatus
getSatisfactionStatus() const
Declared at: clang/include/clang/AST/ExprConcepts.h:231
¶clang::concepts::Requirement::
SubstitutionDiagnostic*
getSubstitutionDiagnostic() const
clang::concepts::Requirement::
SubstitutionDiagnostic*
getSubstitutionDiagnostic() const
Declared at: clang/include/clang/AST/ExprConcepts.h:240
¶clang::TypeSourceInfo* getType() const
clang::TypeSourceInfo* getType() const
Declared at: clang/include/clang/AST/ExprConcepts.h:247
¶bool isSubstitutionFailure() const
bool isSubstitutionFailure() const
Declared at: clang/include/clang/AST/ExprConcepts.h:236
¶void setSatisfactionStatus(
clang::concepts::TypeRequirement::
SatisfactionStatus Status)
void setSatisfactionStatus(
clang::concepts::TypeRequirement::
SatisfactionStatus Status)
Declared at: clang/include/clang/AST/ExprConcepts.h:232
Parameters
- clang::concepts::TypeRequirement:: SatisfactionStatus Status