[expr.prim.req.simple] (original) (raw)
7 Expressions [expr]
7.5 Primary expressions [expr.prim]
7.5.8 Requires expressions [expr.prim.req]
7.5.8.2 Simple requirements [expr.prim.req.simple]
simple-requirement:
expression ;
A simple-requirement asserts the validity of an expression.
The expression is an unevaluated operand.
[Note 1:
The enclosing requires-expression will evaluate to falseif substitution of template arguments into the expression fails.
— _end note_]
[Example 1: template<typename T> concept C = requires (T a, T b) { a + b; // C 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 2:
This simplifies distinguishing between a simple-requirementand a nested-requirement.
— _end note_]