From ff500a7b6838f2eaca25b79ce602c499a71b9c10 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Thu, 19 Jul 2018 16:10:12 -0400 Subject: hle_ipc: Introduce generic WriteBuffer overload for multiple container types This introduces a slightly more generic variant of WriteBuffer(). Notably, this variant doesn't constrain the arguments to only accepting std::vector instances. It accepts whatever adheres to the ContiguousContainer concept in the C++ standard library. This essentially means, std::array, std::string, and std::vector can be used directly with this interface. The interface no longer forces you to solely use containers that dynamically allocate. To ensure our overloads play nice with one another, we only enable the container-based WriteBuffer if the argument is not a pointer, otherwise we fall back to the pointer-based one. --- src/core/hle/service/set/set.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/core/hle/service/set') diff --git a/src/core/hle/service/set/set.cpp b/src/core/hle/service/set/set.cpp index bd295cdf6..886133b74 100644 --- a/src/core/hle/service/set/set.cpp +++ b/src/core/hle/service/set/set.cpp @@ -31,7 +31,7 @@ void SET::GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx) { LanguageCode::ZH_HANS, LanguageCode::ZH_HANT, }}; - ctx.WriteBuffer(available_language_codes.data(), available_language_codes.size()); + ctx.WriteBuffer(available_language_codes); IPC::ResponseBuilder rb{ctx, 4}; rb.Push(RESULT_SUCCESS); -- cgit v1.2.3