diff options
| author | Jordan Woyak <jordan.woyak@gmail.com> | 2026-01-08 15:56:01 -0600 |
|---|---|---|
| committer | Jordan Woyak <jordan.woyak@gmail.com> | 2026-01-17 16:58:45 -0600 |
| commit | dffc7a650d06e3f6cdce019ca79098cfd1e2ed15 (patch) | |
| tree | f8bd686e9d312c66a08e39cd9809e9444420c09b /Source/Core/Common | |
| parent | b556bd99d72d996364f423b663af5d02a9610c4f (diff) | |
Common: Replace Result with C++23's std::expected.
Diffstat (limited to 'Source/Core/Common')
| -rw-r--r-- | Source/Core/Common/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | Source/Core/Common/Result.h | 36 |
2 files changed, 0 insertions, 37 deletions
diff --git a/Source/Core/Common/CMakeLists.txt b/Source/Core/Common/CMakeLists.txt index a1d6d4a80e..6dd7f1fb56 100644 --- a/Source/Core/Common/CMakeLists.txt +++ b/Source/Core/Common/CMakeLists.txt @@ -127,7 +127,6 @@ add_library(common QoSSession.h Random.cpp Random.h - Result.h ScopeGuard.h SDCardUtil.cpp SDCardUtil.h diff --git a/Source/Core/Common/Result.h b/Source/Core/Common/Result.h deleted file mode 100644 index db80362da1..0000000000 --- a/Source/Core/Common/Result.h +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright 2018 Dolphin Emulator Project -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#include <variant> - -namespace Common -{ -template <typename Expected, typename Unexpected> -class Result final -{ -public: - constexpr Result(const Expected& value) : m_variant{value} {} - constexpr Result(Expected&& value) : m_variant{std::move(value)} {} - - constexpr Result(const Unexpected& value) : m_variant{value} {} - constexpr Result(Unexpected&& value) : m_variant{std::move(value)} {} - - constexpr explicit operator bool() const { return Succeeded(); } - constexpr bool Succeeded() const { return std::holds_alternative<Expected>(m_variant); } - - // Must only be called when Succeeded() returns true. - constexpr const Expected& operator*() const { return std::get<Expected>(m_variant); } - constexpr const Expected* operator->() const { return &std::get<Expected>(m_variant); } - constexpr Expected& operator*() { return std::get<Expected>(m_variant); } - constexpr Expected* operator->() { return &std::get<Expected>(m_variant); } - - // Must only be called when Succeeded() returns false. - constexpr Unexpected& Error() { return std::get<Unexpected>(m_variant); } - constexpr const Unexpected& Error() const { return std::get<Unexpected>(m_variant); } - -private: - std::variant<Expected, Unexpected> m_variant; -}; -} // namespace Common |
