Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cleanup dup_with_info to avoid leaking in some cases
[simgrid.git] / src / smpi / plugins / load_balancer / load_balancer.hpp
index 44a2d08..c58920b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2006-2018. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2006-2019. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -14,8 +14,6 @@ namespace loadbalancer {
 
 class XBT_PRIVATE Mapping {
 public:
-  Mapping() = default;
-  ~Mapping() = default;
   /** Each host can have an arbitrary number of actors -> multimap **/
   typedef std::unordered_multimap<simgrid::s4u::Host*, simgrid::s4u::ActorPtr> host_to_actors_map_t;
   host_to_actors_map_t host_to_actors;
@@ -45,7 +43,7 @@ public:
     return host_to_actors.count(host); // TODO This is linear in the size of the map. Maybe replace by constant lookup through another map?
   }
 
-  void for_each_actor(simgrid::s4u::Host* host, std::function<void(simgrid::s4u::ActorPtr)> callback)
+  void for_each_actor(simgrid::s4u::Host* host, const std::function<void(simgrid::s4u::ActorPtr)>& callback)
   {
     auto range = host_to_actors.equal_range(host);
     std::for_each(
@@ -62,8 +60,6 @@ class XBT_PRIVATE LoadBalancer
   std::map</*proc id*/int, double> actor_computation;
 
 public:
-  LoadBalancer();
-  ~LoadBalancer();
   void run();
   void assign(simgrid::s4u::ActorPtr actor, simgrid::s4u::Host* host);
   
@@ -72,7 +68,6 @@ public:
    */
   simgrid::s4u::Host* get_mapping(simgrid::s4u::ActorPtr);
   void record_actor_computation(simgrid::s4u::ActorPtr actor, double load);
-private:
 };
 
 }