7 Expressions [expr]

7.5 Primary expressions [expr.prim]

7.5.7 Requires expressions [expr.prim.req]

7.5.7.1 Simple requirements [expr.prim.req.simple]

simple-requirement:
	expression ;
A simple-requirement asserts the validity of an expression.
Note
:
The enclosing requires-expression will evaluate to false if substitution of template arguments into the expression fails.
— end note
 ]
Example
:
template<typename T> concept C =
  requires (T a, T b) {
    a + b;          // C<T> is true if a + b is a valid expression
  };
— end example
 ]
A requirement that starts with a requires token is never interpreted as a simple-requirement.
Note
:
This simplifies distinguishing between a simple-requirement and a nested-requirement.
— end note
 ]