Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Remove explicit conversion to std::string when it's not required.
[simgrid.git] / src / smpi / include / smpi_group.hpp
index 82e6324..ed3cea6 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010-2021. The SimGrid Team.
+/* Copyright (c) 2010-2022. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
 #include <map>
 #include <vector>
 
-namespace simgrid{
-namespace smpi{
+namespace simgrid::smpi {
 
 class Group : public F2C{
-  /* This is actually a map from int to s4u::Actor*. We could use std::map here, but looking up a value there costs
+  /* This is actually a map from int to aid_t. We could use std::map here, but looking up a value there costs
    * O(log(n)). For a vector, this costs O(1). We hence go with the vector.
    */
-  std::vector<s4u::Actor*> rank_to_actor_map_;
-  std::map<s4u::Actor*, int> actor_to_rank_map_;
+  std::vector<aid_t> rank_to_pid_map_;
   std::vector<int> pid_to_rank_map_;
 
   int refcount_ = 1; /* refcount_: start > 0 so that this group never gets freed */
@@ -30,17 +28,16 @@ class Group : public F2C{
 
 public:
   Group() = default;
-  explicit Group(int size) : rank_to_actor_map_(size, nullptr), pid_to_rank_map_(size, MPI_UNDEFINED) {}
+  explicit Group(int size) : rank_to_pid_map_(size, -1), pid_to_rank_map_(size, MPI_UNDEFINED) {}
   explicit Group(const Group* origin);
 
-  void set_mapping(s4u::Actor* actor, int rank);
+  void set_mapping(aid_t pid, int rank);
   int rank(aid_t pid) const;
-  s4u::Actor* actor(int rank) const;
-  std::string name() const override {return std::string("MPI_Group");}
-  int rank(s4u::Actor* process) const;
+  aid_t actor(int rank) const;
+  std::string name() const override { return "MPI_Group"; }
   void ref();
   static void unref(MPI_Group group);
-  int size() const { return static_cast<int>(rank_to_actor_map_.size()); }
+  int size() const { return static_cast<int>(rank_to_pid_map_.size()); }
   int compare(const Group* group2) const;
   int incl(int n, const int* ranks, MPI_Group* newgroup) const;
   int excl(int n, const int* ranks, MPI_Group* newgroup) const;
@@ -52,7 +49,6 @@ public:
 
   static Group* f2c(int id);
 };
-}
-}
+} // namespace simgrid::smpi
 
 #endif