tmp/tmpmiwj5vzg/{from.md → to.md}
RENAMED
|
@@ -101,18 +101,19 @@ with `std::forward<GF>(rhs.error())`.
|
|
| 101 |
|
| 102 |
*Remarks:* The expression inside `explicit` is equivalent to
|
| 103 |
`!is_convertible_v<UF, T> || !is_convertible_v<GF, E>`.
|
| 104 |
|
| 105 |
``` cpp
|
| 106 |
-
template<class U = T>
|
| 107 |
constexpr explicit(!is_convertible_v<U, T>) expected(U&& v);
|
| 108 |
```
|
| 109 |
|
| 110 |
*Constraints:*
|
| 111 |
|
| 112 |
- `is_same_v<remove_cvref_t<U>, in_place_t>` is `false`; and
|
| 113 |
-
- `is_same_v<
|
|
|
|
| 114 |
- `remove_cvref_t<U>` is not a specialization of `unexpected`; and
|
| 115 |
- `is_constructible_v<T, U>` is `true`; and
|
| 116 |
- if `T` is cv `bool`, `remove_cvref_t<U>` is not a specialization of
|
| 117 |
`expected`.
|
| 118 |
|
|
|
|
| 101 |
|
| 102 |
*Remarks:* The expression inside `explicit` is equivalent to
|
| 103 |
`!is_convertible_v<UF, T> || !is_convertible_v<GF, E>`.
|
| 104 |
|
| 105 |
``` cpp
|
| 106 |
+
template<class U = remove_cv_t<T>>
|
| 107 |
constexpr explicit(!is_convertible_v<U, T>) expected(U&& v);
|
| 108 |
```
|
| 109 |
|
| 110 |
*Constraints:*
|
| 111 |
|
| 112 |
- `is_same_v<remove_cvref_t<U>, in_place_t>` is `false`; and
|
| 113 |
+
- `is_same_v<remove_cvref_t<U>, expected>` is `false`; and
|
| 114 |
+
- `is_same_v<remove_cvref_t<U>, unexpect_t>` is `false`; and
|
| 115 |
- `remove_cvref_t<U>` is not a specialization of `unexpected`; and
|
| 116 |
- `is_constructible_v<T, U>` is `true`; and
|
| 117 |
- if `T` is cv `bool`, `remove_cvref_t<U>` is not a specialization of
|
| 118 |
`expected`.
|
| 119 |
|