tmp/tmp38f4mer4/{from.md → to.md}
RENAMED
|
@@ -1,13 +1,12 @@
|
|
| 1 |
### Context dependence <a id="expr.context">[[expr.context]]</a>
|
| 2 |
|
| 3 |
-
In some contexts, *unevaluated operands* appear
|
| 4 |
-
[[expr.typeid]], [[expr.sizeof]], [[expr.unary.noexcept]],
|
| 5 |
-
|
| 6 |
-
operand is not evaluated.
|
| 7 |
|
| 8 |
-
[*Note 1*: In an unevaluated operand, a non-static class member
|
| 9 |
named [[expr.prim.id]] and naming of objects or functions does not, by
|
| 10 |
itself, require that a definition be provided [[basic.def.odr]]. An
|
| 11 |
unevaluated operand is considered a full-expression
|
| 12 |
[[intro.execution]]. — *end note*]
|
| 13 |
|
|
@@ -30,14 +29,15 @@ volatile-qualified type and it is one of the following:
|
|
| 30 |
these expressions.
|
| 31 |
|
| 32 |
[*Note 2*: Using an overloaded operator causes a function call; the
|
| 33 |
above covers only operators with built-in meaning. — *end note*]
|
| 34 |
|
| 35 |
-
|
| 36 |
-
|
| 37 |
|
| 38 |
-
[*Note 3*: If the expression is an lvalue of class type, it
|
| 39 |
-
volatile copy constructor to initialize the temporary object
|
| 40 |
-
result object of the
|
|
|
|
| 41 |
|
| 42 |
-
The
|
| 43 |
|
|
|
|
| 1 |
### Context dependence <a id="expr.context">[[expr.context]]</a>
|
| 2 |
|
| 3 |
+
In some contexts, *unevaluated operands* appear
|
| 4 |
+
[[expr.prim.req]], [[expr.typeid]], [[expr.sizeof]], [[expr.unary.noexcept]], [[dcl.type.decltype]], [[temp.pre]], [[temp.concept]].
|
| 5 |
+
An unevaluated operand is not evaluated.
|
|
|
|
| 6 |
|
| 7 |
+
[*Note 1*: In an unevaluated operand, a non-static class member can be
|
| 8 |
named [[expr.prim.id]] and naming of objects or functions does not, by
|
| 9 |
itself, require that a definition be provided [[basic.def.odr]]. An
|
| 10 |
unevaluated operand is considered a full-expression
|
| 11 |
[[intro.execution]]. — *end note*]
|
| 12 |
|
|
|
|
| 29 |
these expressions.
|
| 30 |
|
| 31 |
[*Note 2*: Using an overloaded operator causes a function call; the
|
| 32 |
above covers only operators with built-in meaning. — *end note*]
|
| 33 |
|
| 34 |
+
The temporary materialization conversion [[conv.rval]] is applied if the
|
| 35 |
+
(possibly converted) expression is a prvalue of object type.
|
| 36 |
|
| 37 |
+
[*Note 3*: If the original expression is an lvalue of class type, it
|
| 38 |
+
must have a volatile copy constructor to initialize the temporary object
|
| 39 |
+
that is the result object of the temporary materialization
|
| 40 |
+
conversion. — *end note*]
|
| 41 |
|
| 42 |
+
The expression is evaluated and its result (if any) is discarded.
|
| 43 |
|