aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/hle_ipc.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2023-01-30 12:17:09 -0800
committerGitHub <noreply@github.com>2023-01-30 12:17:09 -0800
commited4a88bd93c93ac1aaf5b6bae7d8ede10ff0338a (patch)
tree54b6ce04e859b1dee33f4331f392c0d645f4db43 /src/core/hle/kernel/hle_ipc.h
parente74660673b68e7226b7e934efe5eac620f7a98e6 (diff)
parentb0722591c9b8c1aed5b8bfc5e67e7e957b08f209 (diff)
Merge pull request #9508 from ameerj/hle-ipc-buffer-span
hle_ipc: Use std::span to avoid heap allocations/copies when calling ReadBuffer
Diffstat (limited to 'src/core/hle/kernel/hle_ipc.h')
-rw-r--r--src/core/hle/kernel/hle_ipc.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h
index e252b5f4b..5bf4f171b 100644
--- a/src/core/hle/kernel/hle_ipc.h
+++ b/src/core/hle/kernel/hle_ipc.h
@@ -7,6 +7,7 @@
#include <functional>
#include <memory>
#include <optional>
+#include <span>
#include <string>
#include <type_traits>
#include <vector>
@@ -270,8 +271,11 @@ public:
return domain_message_header.has_value();
}
- /// Helper function to read a buffer using the appropriate buffer descriptor
- [[nodiscard]] std::vector<u8> ReadBuffer(std::size_t buffer_index = 0) const;
+ /// Helper function to get a span of a buffer using the appropriate buffer descriptor
+ [[nodiscard]] std::span<const u8> ReadBuffer(std::size_t buffer_index = 0) const;
+
+ /// Helper function to read a copy of a buffer using the appropriate buffer descriptor
+ [[nodiscard]] std::vector<u8> ReadBufferCopy(std::size_t buffer_index = 0) const;
/// Helper function to write a buffer using the appropriate buffer descriptor
std::size_t WriteBuffer(const void* buffer, std::size_t size,