tmp/tmpee0vd2ng/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
### Result of three-way comparison <a id="cmp.result">[[cmp.result]]</a>
|
| 2 |
+
|
| 3 |
+
The behavior of a program that adds specializations for the
|
| 4 |
+
`compare_three_way_result` template defined in this subclause is
|
| 5 |
+
undefined.
|
| 6 |
+
|
| 7 |
+
For the `compare_three_way_result` type trait applied to the types `T`
|
| 8 |
+
and `U`, let `t` and `u` denote lvalues of types
|
| 9 |
+
`const remove_reference_t<T>` and `const remove_reference_t<U>`,
|
| 10 |
+
respectively. If the expression `t <=> u` is well-formed when treated as
|
| 11 |
+
an unevaluated operand [[expr.context]], the member *typedef-name*
|
| 12 |
+
`type` denotes the type `decltype(t <=> u)`. Otherwise, there is no
|
| 13 |
+
member `type`.
|
| 14 |
+
|