tmp/tmpynfjsz12/{from.md → to.md}
RENAMED
|
@@ -6,18 +6,23 @@ applying a conversion function to an initializer expression. Overload
|
|
| 6 |
resolution is used to select the conversion function to be invoked.
|
| 7 |
Assuming that “*cv1* `T`” is the underlying type of the reference being
|
| 8 |
initialized, and “*cv* `S`” is the type of the initializer expression,
|
| 9 |
with `S` a class type, the candidate functions are selected as follows:
|
| 10 |
|
| 11 |
-
- The conversion functions of `S` and its base classes are considered
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
candidate functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
The argument list has one argument, which is the initializer expression.
|
| 21 |
This argument will be compared against the implicit object parameter of
|
| 22 |
the conversion functions.
|
| 23 |
|
|
|
|
| 6 |
resolution is used to select the conversion function to be invoked.
|
| 7 |
Assuming that “*cv1* `T`” is the underlying type of the reference being
|
| 8 |
initialized, and “*cv* `S`” is the type of the initializer expression,
|
| 9 |
with `S` a class type, the candidate functions are selected as follows:
|
| 10 |
|
| 11 |
+
- The conversion functions of `S` and its base classes are considered.
|
| 12 |
+
Those non-explicit conversion functions that are not hidden within `S`
|
| 13 |
+
and yield type “lvalue reference to *cv2* `T2`” (when initializing an
|
| 14 |
+
lvalue reference or an rvalue reference to function) or “ `T2`” or
|
| 15 |
+
“rvalue reference to `T2`” (when initializing an rvalue reference or
|
| 16 |
+
an lvalue reference to function), where “*cv1* `T`” is
|
| 17 |
+
reference-compatible ([[dcl.init.ref]]) with “*cv2* `T2`”, are
|
| 18 |
+
candidate functions. For direct-initialization, those explicit
|
| 19 |
+
conversion functions that are not hidden within `S` and yield type
|
| 20 |
+
“lvalue reference to *cv2* `T2`” or “*cv2* `T2`” or “rvalue reference
|
| 21 |
+
to *cv2* `T2`,” respectively, where `T2` is the same type as `T` or
|
| 22 |
+
can be converted to type `T` with a qualification conversion (
|
| 23 |
+
[[conv.qual]]), are also candidate functions.
|
| 24 |
|
| 25 |
The argument list has one argument, which is the initializer expression.
|
| 26 |
This argument will be compared against the implicit object parameter of
|
| 27 |
the conversion functions.
|
| 28 |
|