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. in ParseRequiresExpression()
3632 // Start of requirement list in ParseRequiresExpression()
3633 llvm::SmallVector<concepts::Requirement *, 2> Requirements; in ParseRequiresExpression()
3636 // Expressions appearing within a requirement-body are unevaluated operands. in ParseRequiresExpression()
3650 // requirement-body: in ParseRequiresExpression()
3651 // { requirement-seq } in ParseRequiresExpression()
3652 // requirement-seq: in ParseRequiresExpression()
3653 // requirement in ParseRequiresExpression()
3654 // requirement-seq requirement in ParseRequiresExpression()
3661 // Compound requirement in ParseRequiresExpression()
3663 // compound-requirement: in ParseRequiresExpression()
3665 // return-type-requirement[opt] ';' in ParseRequiresExpression()
3666 // return-type-requirement: in ParseRequiresExpression()
3682 concepts::Requirement *Req = nullptr; in ParseRequiresExpression()
3762 // simple-requirement. in ParseRequiresExpression()
3770 // Nested requirement in ParseRequiresExpression()
3772 // nested-requirement: in ParseRequiresExpression()
3793 // This might be 'typename T::value_type;' (a type requirement) or in ParseRequiresExpression()
3794 // 'typename T::value_type{};' (a simple requirement). in ParseRequiresExpression()
3836 // Simple requirement in ParseRequiresExpression()
3838 // simple-requirement: in ParseRequiresExpression()
3856 // User may have tried to put some compound requirement stuff here in ParseRequiresExpression()