| 1120 | mVariant); |
| 1121 | } |
| 1122 | constexpr decltype(auto) value() const |
| 1123 | { |
| 1124 | return std::visit( |
| 1125 | overload([](Type const &v) -> Type const & { return v; }, |
| 1126 | [](Type const *p) -> Type const & { return *p; }, |
| 1127 | [](std::monostate const &) -> Type const & { |
| 1128 | throw std::logic_error("invalid state!"); |
| 1129 | }), |
| 1130 | mVariant); |
| 1131 | } |
| 1132 | |
| 1133 | constexpr decltype(auto) mutableValue() |
| 1134 | { |