constexpr const T *getPointer() const { return &Storage.value(); }
LLVM_DEPRECATED("Use &*X instead.", "&*X")
T *getPointer() { return &Storage.value(); }
+ LLVM_DEPRECATED("std::optional::value is throwing. Use *X instead", "*X")
constexpr const T &value() const & { return Storage.value(); }
+ LLVM_DEPRECATED("std::optional::value is throwing. Use *X instead", "*X")
T &value() & { return Storage.value(); }
constexpr explicit operator bool() const { return has_value(); }
return has_value() ? operator*() : std::forward<U>(alt);
}
+ LLVM_DEPRECATED("std::optional::value is throwing. Use *X instead", "*X")
T &&value() && { return std::move(Storage.value()); }
T &&operator*() && { return std::move(Storage.value()); }