Просмотр исходного кода

input_common/main: Pass MappingData by const reference in callbacks

Avoids creating unnecessary 168 byte copies per callback invocation.
Lioncash 4 лет назад
Родитель
Сommit
51dd3da11c
2 измененных файлов с 3 добавлено и 3 удалено
  1. 1 1
      src/input_common/input_engine.h
  2. 2 2
      src/input_common/main.cpp

+ 1 - 1
src/input_common/input_engine.h

@@ -89,7 +89,7 @@ struct UpdateCallback {
 
 // Triggered if data changed on the controller and the engine is on configuring mode
 struct MappingCallback {
-    std::function<void(MappingData)> on_data;
+    std::function<void(const MappingData&)> on_data;
 };
 
 // Input Identifier of data source

+ 2 - 2
src/input_common/main.cpp

@@ -27,7 +27,7 @@ namespace InputCommon {
 struct InputSubsystem::Impl {
     void Initialize() {
         mapping_factory = std::make_shared<MappingFactory>();
-        MappingCallback mapping_callback{[this](MappingData data) { RegisterInput(data); }};
+        MappingCallback mapping_callback{[this](const MappingData& data) { RegisterInput(data); }};
 
         keyboard = std::make_shared<Keyboard>("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);
     }