diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2024-02-04 15:48:33 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-04 15:48:33 +0100 |
commit | 4cccbe7989a6a2571ffb1a21790f3884786c557a (patch) | |
tree | e0cebe568f7bc8597a019b75ecc6d4b3b653e206 /src/core/hle/service/cmif_types.h | |
parent | Merge pull request #12901 from Kelebek1/timezone_firmware_fix (diff) | |
parent | cmif_serialization: enforce const for references (diff) | |
download | yuzu-4cccbe7989a6a2571ffb1a21790f3884786c557a.tar yuzu-4cccbe7989a6a2571ffb1a21790f3884786c557a.tar.gz yuzu-4cccbe7989a6a2571ffb1a21790f3884786c557a.tar.bz2 yuzu-4cccbe7989a6a2571ffb1a21790f3884786c557a.tar.lz yuzu-4cccbe7989a6a2571ffb1a21790f3884786c557a.tar.xz yuzu-4cccbe7989a6a2571ffb1a21790f3884786c557a.tar.zst yuzu-4cccbe7989a6a2571ffb1a21790f3884786c557a.zip |
Diffstat (limited to 'src/core/hle/service/cmif_types.h')
-rw-r--r-- | src/core/hle/service/cmif_types.h | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/src/core/hle/service/cmif_types.h b/src/core/hle/service/cmif_types.h index dc06169f4..84f4c2456 100644 --- a/src/core/hle/service/cmif_types.h +++ b/src/core/hle/service/cmif_types.h @@ -4,10 +4,9 @@ #pragma once #include <memory> +#include <span> -#include "common/common_funcs.h" #include "common/common_types.h" -#include "core/hle/service/hle_ipc.h" namespace Service { @@ -22,8 +21,10 @@ class Out { public: using Type = T; + /* implicit */ Out(const Out& t) : raw(t.raw) {} /* implicit */ Out(AutoOut<Type>& t) : raw(&t.raw) {} /* implicit */ Out(Type* t) : raw(t) {} + Out& operator=(const Out&) = delete; Type* Get() const { return raw; @@ -37,6 +38,10 @@ public: return raw; } + operator Type*() const { + return raw; + } + private: Type* raw; }; @@ -113,8 +118,10 @@ class OutCopyHandle { public: using Type = T*; + /* implicit */ OutCopyHandle(const OutCopyHandle& t) : raw(t.raw) {} /* implicit */ OutCopyHandle(AutoOut<Type>& t) : raw(&t.raw) {} /* implicit */ OutCopyHandle(Type* t) : raw(t) {} + OutCopyHandle& operator=(const OutCopyHandle&) = delete; Type* Get() const { return raw; @@ -128,6 +135,10 @@ public: return raw; } + operator Type*() const { + return raw; + } + private: Type* raw; }; @@ -137,8 +148,10 @@ class OutMoveHandle { public: using Type = T*; + /* implicit */ OutMoveHandle(const OutMoveHandle& t) : raw(t.raw) {} /* implicit */ OutMoveHandle(AutoOut<Type>& t) : raw(&t.raw) {} /* implicit */ OutMoveHandle(Type* t) : raw(t) {} + OutMoveHandle& operator=(const OutMoveHandle&) = delete; Type* Get() const { return raw; @@ -152,6 +165,10 @@ public: return raw; } + operator Type*() const { + return raw; + } + private: Type* raw; }; @@ -248,8 +265,10 @@ public: static constexpr BufferAttr Attr = static_cast<BufferAttr>(A | BufferAttr_In | BufferAttr_FixedSize); using Type = T; + /* implicit */ OutLargeData(const OutLargeData& t) : raw(t.raw) {} /* implicit */ OutLargeData(Type* t) : raw(t) {} /* implicit */ OutLargeData(AutoOut<T>& t) : raw(&t.raw) {} + OutLargeData& operator=(const OutLargeData&) = delete; Type* Get() const { return raw; @@ -263,6 +282,10 @@ public: return raw; } + operator Type*() const { + return raw; + } + private: Type* raw; }; |