tmp/tmpsc26axj2/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### Weak result types <a id="depr.weak.result_type">[[depr.weak.result_type]]</a>
|
| 2 |
+
|
| 3 |
+
A call wrapper ([[func.def]]) may have a *weak result type*. If it
|
| 4 |
+
does, the type of its member type `result_type` is based on the type `T`
|
| 5 |
+
of the wrapper’s target object:
|
| 6 |
+
|
| 7 |
+
- if `T` is a pointer to function type, `result_type` shall be a synonym
|
| 8 |
+
for the return type of `T`;
|
| 9 |
+
- if `T` is a pointer to member function, `result_type` shall be a
|
| 10 |
+
synonym for the return type of `T`;
|
| 11 |
+
- if `T` is a class type and the *qualified-id* `T::result_type` is
|
| 12 |
+
valid and denotes a type ([[temp.deduct]]), then `result_type` shall
|
| 13 |
+
be a synonym for `T::result_type`;
|
| 14 |
+
- otherwise `result_type` shall not be defined.
|
| 15 |
+
|