Merge pull request #8300 from Morph1984/resultval-range

hle/result: Add ResultRange overload in ResultVal
This commit is contained in:
Mai M 2022-05-03 20:12:45 -04:00 committed by GitHub
commit 18a0c2e9db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -181,7 +181,7 @@ public:
consteval ResultRange(ErrorModule module, u32 description_start, u32 description_end_) consteval ResultRange(ErrorModule module, u32 description_start, u32 description_end_)
: code{module, description_start}, description_end{description_end_} {} : code{module, description_start}, description_end{description_end_} {}
[[nodiscard]] consteval operator ResultCode() const { [[nodiscard]] constexpr operator ResultCode() const {
return code; return code;
} }
@ -232,6 +232,8 @@ public:
constexpr ResultVal(ResultCode code) : expected{Common::Unexpected(code)} {} constexpr ResultVal(ResultCode code) : expected{Common::Unexpected(code)} {}
constexpr ResultVal(ResultRange range) : expected{Common::Unexpected(range)} {}
template <typename U> template <typename U>
constexpr ResultVal(U&& val) : expected{std::forward<U>(val)} {} constexpr ResultVal(U&& val) : expected{std::forward<U>(val)} {}
@ -317,7 +319,7 @@ public:
} }
private: private:
// TODO: Replace this with std::expected once it is standardized in the STL. // TODO (Morph): Replace this with C++23 std::expected.
Common::Expected<T, ResultCode> expected; Common::Expected<T, ResultCode> expected;
}; };