tmp/tmpbit3w1q8/{from.md → to.md}
RENAMED
|
@@ -138,8 +138,44 @@ namespace std::ranges {
|
|
| 138 |
requires convertible_to<I, I2>
|
| 139 |
constexpr operator in_found_result<I2>() && {
|
| 140 |
return {std::move(in), found};
|
| 141 |
}
|
| 142 |
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
}
|
| 144 |
```
|
| 145 |
|
|
|
|
| 138 |
requires convertible_to<I, I2>
|
| 139 |
constexpr operator in_found_result<I2>() && {
|
| 140 |
return {std::move(in), found};
|
| 141 |
}
|
| 142 |
};
|
| 143 |
+
|
| 144 |
+
template<class I, class T>
|
| 145 |
+
struct in_value_result {
|
| 146 |
+
[[no_unique_address]] I in;
|
| 147 |
+
[[no_unique_address]] T value;
|
| 148 |
+
|
| 149 |
+
template<class I2, class T2>
|
| 150 |
+
requires convertible_to<const I&, I2> && convertible_to<const T&, T2>
|
| 151 |
+
constexpr operator in_value_result<I2, T2>() const & {
|
| 152 |
+
return {in, value};
|
| 153 |
+
}
|
| 154 |
+
|
| 155 |
+
template<class I2, class T2>
|
| 156 |
+
requires convertible_to<I, I2> && convertible_to<T, T2>
|
| 157 |
+
constexpr operator in_value_result<I2, T2>() && {
|
| 158 |
+
return {std::move(in), std::move(value)};
|
| 159 |
+
}
|
| 160 |
+
};
|
| 161 |
+
|
| 162 |
+
template<class O, class T>
|
| 163 |
+
struct out_value_result {
|
| 164 |
+
[[no_unique_address]] O out;
|
| 165 |
+
[[no_unique_address]] T value;
|
| 166 |
+
|
| 167 |
+
template<class O2, class T2>
|
| 168 |
+
requires convertible_to<const O&, O2> && convertible_to<const T&, T2>
|
| 169 |
+
constexpr operator out_value_result<O2, T2>() const & {
|
| 170 |
+
return {out, value};
|
| 171 |
+
}
|
| 172 |
+
|
| 173 |
+
template<class O2, class T2>
|
| 174 |
+
requires convertible_to<O, O2> && convertible_to<T, T2>
|
| 175 |
+
constexpr operator out_value_result<O2, T2>() && {
|
| 176 |
+
return {std::move(out), std::move(value)};
|
| 177 |
+
}
|
| 178 |
+
};
|
| 179 |
}
|
| 180 |
```
|
| 181 |
|