| 1112 | enable_if_t<!is_void_v<Ret>> * = nullptr, |
| 1113 | class Result = expected<decay_t<Ret>, E>> |
| 1114 | constexpr Result expected_map_impl(Exp &&exp, F &&f) { |
| 1115 | if (exp.has_value()) { |
| 1116 | return Result(invoke(std::forward<F>(f), *std::forward<Exp>(exp))); |
| 1117 | } |
| 1118 | return Result(unexpect, std::forward<Exp>(exp).error()); |
| 1119 | } |
| 1120 | |
| 1121 | template <class Exp, class F, class T = typename decay_t<Exp>::value_type, |
| 1122 | class E = typename decay_t<Exp>::error_type, |