add Result::unwrapOrDefault()

This commit is contained in:
HJfod 2024-05-14 15:02:17 +03:00
parent 92e0de4dea
commit 1dc9ec41cc

View file

@ -196,6 +196,13 @@ namespace geode {
return this->Base::value_or(std::forward<U>(val));
}
[[nodiscard]] constexpr decltype(auto) unwrapOrDefault() && requires std::is_default_constructible_v<T> {
return this->Base::value_or(T());
}
[[nodiscard]] constexpr decltype(auto) unwrapOrDefault() const& requires std::is_default_constructible_v<T> {
return this->Base::value_or(T());
}
template <class U>
[[nodiscard]] constexpr decltype(auto) errorOr(U&& val) && {
return this->Base::error_or(std::forward<U>(val));