Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' into fix/execute_benched
[simgrid.git] / src / smpi / mpi / smpi_f2c.cpp
index ffd795f..0b17daa 100644 (file)
@@ -3,8 +3,8 @@
 /* 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. */
 
-#include "private.h"
 #include "smpi_f2c.hpp"
+#include "private.hpp"
 #include "smpi_process.hpp"
 
 #include <cstdio>
@@ -75,7 +75,7 @@ int F2C::c2f()
     f2c_lookup_ = new std::unordered_map<std::string, F2C*>;
   }
 
-  for (auto elm : *f2c_lookup_)
+  for (auto const& elm : *f2c_lookup_)
     if (elm.second == this)
       return std::stoi(elm.first);
 
@@ -90,11 +90,8 @@ F2C* F2C::f2c(int id)
 
   if(id >= 0){
     char key[KEY_SIZE];
-    try {
-      return f2c_lookup_->at(get_key(key, id));
-    } catch (std::out_of_range& unfound) {
-      return nullptr;
-    }
+    auto comm = f2c_lookup_->find(get_key(key, id));
+    return comm == f2c_lookup_->end() ? nullptr : comm->second;
   }else
     return nullptr;
 }