From 49f2e526e5d0e0247deca1de84074a5f872a80eb Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Thu, 5 Mar 2020 07:58:45 +0100 Subject: [PATCH] sonar cleanups: pass large objects by const reference --- include/simgrid/s4u/Engine.hpp | 6 +++--- src/s4u/s4u_Engine.cpp | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/simgrid/s4u/Engine.hpp b/include/simgrid/s4u/Engine.hpp index b4259fdaf7..fc1c747927 100644 --- a/include/simgrid/s4u/Engine.hpp +++ b/include/simgrid/s4u/Engine.hpp @@ -53,12 +53,12 @@ public: XBT_ATTRIB_DEPRECATED_v330("Please change the return code of your actors to void") void register_function( const std::string& name, int (*code)(int, char**)); - void register_function(const std::string& name, std::function code); - void register_function(const std::string& name, std::function)> code); + void register_function(const std::string& name, const std::function& code); + void register_function(const std::string& name, const std::function)>& code); XBT_ATTRIB_DEPRECATED_v330("Please change the return code of your actors to void") void register_default( int (*code)(int, char**)); - void register_default(std::function code); + void register_default(const std::function& code); void register_default(const kernel::actor::ActorCodeFactory& factory); void register_function(const std::string& name, const kernel::actor::ActorCodeFactory& factory); diff --git a/src/s4u/s4u_Engine.cpp b/src/s4u/s4u_Engine.cpp index f21bdbf699..a8ab22f137 100644 --- a/src/s4u/s4u_Engine.cpp +++ b/src/s4u/s4u_Engine.cpp @@ -104,7 +104,7 @@ void Engine::register_default(int (*code)(int, char**)) // deprecated } /** Registers the main function of an actor that will be launched from the deployment file */ -void Engine::register_function(const std::string& name, std::function code) +void Engine::register_function(const std::string& name, const std::function& code) { kernel::actor::ActorCodeFactory code_factory = [code](std::vector args) { return xbt::wrap_main(code, std::move(args)); @@ -113,7 +113,7 @@ void Engine::register_function(const std::string& name, std::function)> code) +void Engine::register_function(const std::string& name, const std::function)>& code) { kernel::actor::ActorCodeFactory code_factory = [code](std::vector args) { return std::bind(std::move(code), std::move(args)); @@ -125,7 +125,7 @@ void Engine::register_function(const std::string& name, std::function code) +void Engine::register_default(const std::function& code) { register_default([code](std::vector args) { return xbt::wrap_main(code, std::move(args)); }); } -- 2.20.1