[temp.concept] (original) (raw)
13 Templates [temp]
13.7 Template declarations [temp.decls]
13.7.8 Concept definitions [temp.concept]
A concept-definitiondeclares a concept.
Its identifier becomes a concept-namereferring to that concept within its scope.
[ Example
:
template concept C = requires(T x) { { x == x } -> std::convertible_to; };
template requires C // C constrains f1(T) in constraint-expression T f1(T x) { return x; }
template // C, as a type-constraint, constrains f2(T) T f2(T x) { return x; }
— end example
]
The first declared template parameter of a concept definition is itsprototype parameter.