clang
10.0.0git
|
A requires-expression requirement which queries the existence of a type name or type template specialization ('type' requirements). More...
#include "clang/AST/ExprConcepts.h"
Public Types | |
enum | SatisfactionStatus { SS_Dependent, SS_SubstitutionFailure, SS_Satisfied } |
![]() | |
enum | RequirementKind { RK_Type, RK_Simple, RK_Compound, RK_Nested } |
Public Member Functions | |
TypeRequirement (TypeSourceInfo *T) | |
Construct a type requirement from a type. More... | |
TypeRequirement (SubstitutionDiagnostic *Diagnostic) | |
Construct a type requirement when the nested name specifier is invalid due to a bad substitution. More... | |
SatisfactionStatus | getSatisfactionStatus () const |
void | setSatisfactionStatus (SatisfactionStatus Status) |
bool | isSubstitutionFailure () const |
SubstitutionDiagnostic * | getSubstitutionDiagnostic () const |
TypeSourceInfo * | getType () const |
![]() | |
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 |
A requires-expression requirement which queries the existence of a type name or type template specialization ('type' requirements).
Definition at line 198 of file ExprConcepts.h.
Enumerator | |
---|---|
SS_Dependent | |
SS_SubstitutionFailure | |
SS_Satisfied |
Definition at line 200 of file ExprConcepts.h.
concepts::TypeRequirement::TypeRequirement | ( | TypeSourceInfo * | T | ) |
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.
Definition at line 1048 of file SemaConcept.cpp.
|
inline |
Construct a type requirement when the nested name specifier is invalid due to a bad substitution.
The requirement is unsatisfied.
Definition at line 220 of file ExprConcepts.h.
|
inlinestatic |
Definition at line 246 of file ExprConcepts.h.
References clang::concepts::Requirement::getKind().
|
inline |
Definition at line 224 of file ExprConcepts.h.
|
inline |
Definition at line 233 of file ExprConcepts.h.
Referenced by clang::TreeTransform< Derived >::TransformTypeRequirement().
|
inline |
Definition at line 240 of file ExprConcepts.h.
Referenced by clang::TreeTransform< Derived >::TransformTypeRequirement().
|
inline |
Definition at line 229 of file ExprConcepts.h.
Referenced by clang::TreeTransform< Derived >::TransformTypeRequirement().
|
inline |
Definition at line 225 of file ExprConcepts.h.
friend clang::concepts::TypeRequirement::ASTStmtReader |
Definition at line 209 of file ExprConcepts.h.
friend clang::concepts::TypeRequirement::ASTStmtWriter |
Definition at line 210 of file ExprConcepts.h.