Lines Matching full:requirement
3581 /// template arguments. A requirement is one that can be checked by name
3585 /// 'requires' requirement-parameter-list[opt] requirement-body
3587 /// requirement-parameter-list:
3590 /// requirement-body:
3591 /// '{' requirement-seq '}'
3593 /// requirement-seq:
3594 /// requirement
3595 /// requirement-seq requirement
3597 /// requirement:
3598 /// simple-requirement
3599 /// type-requirement
3600 /// compound-requirement
3601 /// nested-requirement
3609 // requirement parameter list is present.
3632 // Start of requirement list
3633 llvm::SmallVector<concepts::Requirement *, 2> Requirements;
3636 // Expressions appearing within a requirement-body are unevaluated operands.
3650 // requirement-body:
3651 // { requirement-seq }
3652 // requirement-seq:
3653 // requirement
3654 // requirement-seq requirement
3661 // Compound requirement
3663 // compound-requirement:
3665 // return-type-requirement[opt] ';'
3666 // return-type-requirement:
3682 concepts::Requirement *Req = nullptr;
3762 // simple-requirement.
3770 // Nested requirement
3772 // nested-requirement:
3793 // This might be 'typename T::value_type;' (a type requirement) or
3794 // 'typename T::value_type{};' (a simple requirement).
3836 // Simple requirement
3838 // simple-requirement:
3856 // User may have tried to put some compound requirement stuff here