From 51dd3da11ce169fec831fef20efc73d2ba495702 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Mon, 24 Jan 2022 11:31:40 -0500 Subject: input_common/main: Pass MappingData by const reference in callbacks Avoids creating unnecessary 168 byte copies per callback invocation. --- src/input_common/main.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index 940744c5f..e2b415bf6 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -27,7 +27,7 @@ namespace InputCommon { struct InputSubsystem::Impl { void Initialize() { mapping_factory = std::make_shared(); - MappingCallback mapping_callback{[this](MappingData data) { RegisterInput(data); }}; + MappingCallback mapping_callback{[this](const MappingData& data) { RegisterInput(data); }}; keyboard = std::make_shared("keyboard"); keyboard->SetMappingCallback(mapping_callback); @@ -284,7 +284,7 @@ struct InputSubsystem::Impl { #endif } - void RegisterInput(MappingData data) { + void RegisterInput(const MappingData& data) { mapping_factory->RegisterInput(data); } -- cgit v1.2.3 From 8bb39750a1f0ebe9b9a30b58188198123e69598a Mon Sep 17 00:00:00 2001 From: Lioncash Date: Mon, 24 Jan 2022 11:39:17 -0500 Subject: input_common/input_mapping: Remove const from return value Top-level const on a return by value can inhibit move semantics, and is unnecessary. --- src/input_common/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index e2b415bf6..a4d7ed645 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -394,7 +394,7 @@ void InputSubsystem::BeginMapping(Polling::InputType type) { impl->mapping_factory->BeginMapping(type); } -const Common::ParamPackage InputSubsystem::GetNextInput() const { +Common::ParamPackage InputSubsystem::GetNextInput() const { return impl->mapping_factory->GetNextInput(); } -- cgit v1.2.3