Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into fix/execute_benched
[simgrid.git] / src / smpi / include / smpi_group.hpp
index 4637dea..1bb4d17 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "smpi_f2c.hpp"
 #include <smpi/smpi.h>
+#include <vector>
 
 namespace simgrid{
 namespace smpi{
@@ -16,14 +17,17 @@ namespace smpi{
 class Group : public F2C{
   private:
     int size_;
-    int *rank_to_index_map_;
-    std::unordered_map<int, int> index_to_rank_map_;
+    /* This is actually a map from int to int. 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<int> rank_to_index_map_;
+    std::vector<int> index_to_rank_map_;
     int refcount_;
   public:
     explicit Group();
     explicit Group(int size);
     explicit Group(Group* origin);
-    ~Group();
 
     void set_mapping(int index, int rank);
     int index(int rank);