An expression that may alter the value of one or more of its inputs in a manner
observable to equality-preserving expressions is said to modify those inputs
. The library clauses use a notational convention to specify which expressions declared
in a
requires-expression modify which inputs: except where
otherwise specified, an expression operand that is a non-constant lvalue or
rvalue may be modified
. Operands that are constant lvalues or rvalues are
required to not be modified
. For the purposes of this subclause,
the cv-qualification and value category of each operand
are determined by assuming
that each template type parameter
denotes a cv-unqualified complete non-array object type
.