An expression is
equality-preserving if,
given equal inputs, the expression results in equal outputs
. The inputs to an
expression are the set of the expression's operands
. The output of an expression
is the expression's result and all operands modified by the expression
. For the purposes of this subclause,
the operands of an expression are the largest subexpressions that include only:
[
Example 1:
The operands of the expression
a = std::move(b) are
a and
std::move(b). —
end example]