summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-04-10 11:23:17 +0200
committerbunnei <bunneidev@gmail.com>2021-05-06 01:40:51 +0200
commiteba3bb9d219283ffc2a7610d925aa157a81b6e4a (patch)
treefe0dd54f69efaa8435ef67f1f52af38e3b87fe66
parenthle: kernel: Move slab heaps to their own container. (diff)
downloadyuzu-eba3bb9d219283ffc2a7610d925aa157a81b6e4a.tar
yuzu-eba3bb9d219283ffc2a7610d925aa157a81b6e4a.tar.gz
yuzu-eba3bb9d219283ffc2a7610d925aa157a81b6e4a.tar.bz2
yuzu-eba3bb9d219283ffc2a7610d925aa157a81b6e4a.tar.lz
yuzu-eba3bb9d219283ffc2a7610d925aa157a81b6e4a.tar.xz
yuzu-eba3bb9d219283ffc2a7610d925aa157a81b6e4a.tar.zst
yuzu-eba3bb9d219283ffc2a7610d925aa157a81b6e4a.zip
-rw-r--r--src/core/hle/ipc_helpers.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h
index 224bee950..8f12616bd 100644
--- a/src/core/hle/ipc_helpers.h
+++ b/src/core/hle/ipc_helpers.h
@@ -218,8 +218,14 @@ public:
void PushMoveObjects(O*... pointers);
template <typename... O>
+ void PushMoveObjects(O&... pointers);
+
+ template <typename... O>
void PushCopyObjects(O*... pointers);
+ template <typename... O>
+ void PushCopyObjects(O&... pointers);
+
private:
u32 normal_params_size{};
u32 num_handles_to_copy{};
@@ -304,7 +310,15 @@ template <typename... O>
inline void ResponseBuilder::PushCopyObjects(O*... pointers) {
auto objects = {pointers...};
for (auto& object : objects) {
- context->AddCopyObject(std::move(object));
+ context->AddCopyObject(object);
+ }
+}
+
+template <typename... O>
+inline void ResponseBuilder::PushCopyObjects(O&... pointers) {
+ auto objects = {&pointers...};
+ for (auto& object : objects) {
+ context->AddCopyObject(object);
}
}
@@ -312,7 +326,15 @@ template <typename... O>
inline void ResponseBuilder::PushMoveObjects(O*... pointers) {
auto objects = {pointers...};
for (auto& object : objects) {
- context->AddMoveObject(std::move(object));
+ context->AddMoveObject(object);
+ }
+}
+
+template <typename... O>
+inline void ResponseBuilder::PushMoveObjects(O&... pointers) {
+ auto objects = {&pointers...};
+ for (auto& object : objects) {
+ context->AddMoveObject(object);
}
}