tmp/tmphrla19h5/{from.md → to.md}
RENAMED
|
@@ -44,14 +44,14 @@ However, the operands are sequenced in the order prescribed for the
|
|
| 44 |
built-in operator [[expr.compound]].
|
| 45 |
|
| 46 |
**Table: Relationship between operator and function call notation** <a id="over.match.oper">[over.match.oper]</a>
|
| 47 |
|
| 48 |
| Subclause | Expression | As member function | As non-member function |
|
| 49 |
-
| ------------ | ---------- | ------------------- | ---------------------- |
|
| 50 |
| (a)} |
|
| 51 |
| (a, b)} |
|
| 52 |
-
| [[over.
|
| 53 |
| [[over.sub]] | `a[b]` | `(a).operator[](b)` | |
|
| 54 |
| [[over.ref]] | `a->` | `(a).operator->( )` | |
|
| 55 |
| (a, 0)} |
|
| 56 |
|
| 57 |
|
|
@@ -148,16 +148,12 @@ inline namespace N {
|
|
| 148 |
bool d1 = 0 == D(); // OK, calls reversed #4; #5 does not forbid #4 as a rewrite target
|
| 149 |
```
|
| 150 |
|
| 151 |
— *end example*]
|
| 152 |
|
| 153 |
-
For the built-in assignment operators,
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
- no temporaries are introduced to hold the left operand, and
|
| 157 |
-
- no user-defined conversions are applied to the left operand to achieve
|
| 158 |
-
a type match with the left-most parameter of a built-in candidate.
|
| 159 |
|
| 160 |
For all other operators, no such restrictions apply.
|
| 161 |
|
| 162 |
The set of candidate functions for overload resolution for some operator
|
| 163 |
`@` is the union of the member candidates, the non-member candidates,
|
|
|
|
| 44 |
built-in operator [[expr.compound]].
|
| 45 |
|
| 46 |
**Table: Relationship between operator and function call notation** <a id="over.match.oper">[over.match.oper]</a>
|
| 47 |
|
| 48 |
| Subclause | Expression | As member function | As non-member function |
|
| 49 |
+
| --------------- | ---------- | ------------------- | ---------------------- |
|
| 50 |
| (a)} |
|
| 51 |
| (a, b)} |
|
| 52 |
+
| [[over.assign]] | `a=b` | `(a).operator= (b)` | |
|
| 53 |
| [[over.sub]] | `a[b]` | `(a).operator[](b)` | |
|
| 54 |
| [[over.ref]] | `a->` | `(a).operator->( )` | |
|
| 55 |
| (a, 0)} |
|
| 56 |
|
| 57 |
|
|
|
|
| 148 |
bool d1 = 0 == D(); // OK, calls reversed #4; #5 does not forbid #4 as a rewrite target
|
| 149 |
```
|
| 150 |
|
| 151 |
— *end example*]
|
| 152 |
|
| 153 |
+
For the first parameter of the built-in assignment operators, only
|
| 154 |
+
standard conversion sequences [[over.ics.scs]] are considered.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 155 |
|
| 156 |
For all other operators, no such restrictions apply.
|
| 157 |
|
| 158 |
The set of candidate functions for overload resolution for some operator
|
| 159 |
`@` is the union of the member candidates, the non-member candidates,
|