Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Misc Sonar issues.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sat, 18 Feb 2023 16:42:44 +0000 (17:42 +0100)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Sat, 18 Feb 2023 16:42:44 +0000 (17:42 +0100)
src/simgrid/module.cpp
src/simgrid/module.hpp

index dbfdf01..20f712d 100644 (file)
@@ -42,14 +42,14 @@ void ModuleGroup::create_flag(const std::string& opt_name, const std::string& de
           by_name(value); // Simply ensure that this value exists, it will be picked up later
       });
 }
-void ModuleGroup::init_from_flag_value()
+void ModuleGroup::init_from_flag_value() const
 {
   by_name(simgrid::config::get_value<std::string>(opt_name_)).init();
 }
 
 ModuleGroup& ModuleGroup::add(const char* id, const char* desc, std::function<void()> init)
 {
-  table_.emplace_back(Module(id, desc, init));
+  table_.emplace_back(id, desc, std::move(init));
   return *this;
 }
 
index ab175ad..9a1d7bc 100644 (file)
@@ -19,7 +19,7 @@ struct Module {
   const char* description_;
   std::function<void()> init;
   Module(const char* id, const char* desc, std::function<void()> init_fun)
-      : name_(id), description_(desc), init(init_fun)
+      : name_(id), description_(desc), init(std::move(init_fun))
   {
   }
 };
@@ -30,16 +30,16 @@ class ModuleGroup {
   std::string opt_name_;
 
 public:
-  ModuleGroup(const std::string& kind) : kind_(kind) {}
+  explicit ModuleGroup(const std::string& kind) : kind_(kind) {}
 
   ModuleGroup& add(const char* id, const char* desc, std::function<void()> init);
   Module const& by_name(const std::string& name) const;
   void help() const;
-  const std::string get_kind() const { return kind_; }
+  const std::string& get_kind() const { return kind_; }
   std::string existing_values() const;
   void create_flag(const std::string& opt_name, const std::string& descr, const std::string& default_value,
                    bool init_now);
-  void init_from_flag_value();
+  void init_from_flag_value() const;
 };
 
 }; // namespace simgrid