From 1dc9ec41ccd4a9eed7ae630d0d8f5e75916aedb5 Mon Sep 17 00:00:00 2001 From: HJfod <60038575+HJfod@users.noreply.github.com> Date: Tue, 14 May 2024 15:02:17 +0300 Subject: [PATCH] add Result::unwrapOrDefault() --- loader/include/Geode/utils/Result.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/loader/include/Geode/utils/Result.hpp b/loader/include/Geode/utils/Result.hpp index 4cc1bc25..c9519350 100644 --- a/loader/include/Geode/utils/Result.hpp +++ b/loader/include/Geode/utils/Result.hpp @@ -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));