X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/2ed355817f460966034abc6a78428bdca52fcbb4..41ceaff7af49c608aa9d14d95d7b8736b37187a9:/src/smpi/mpi/smpi_group.cpp diff --git a/src/smpi/mpi/smpi_group.cpp b/src/smpi/mpi/smpi_group.cpp index bce418b066..580d0d688e 100644 --- a/src/smpi/mpi/smpi_group.cpp +++ b/src/smpi/mpi/smpi_group.cpp @@ -39,7 +39,7 @@ Group::Group(MPI_Group origin) rank_to_index_map_[i] = origin->rank_to_index_map_[i]; } - for (auto elm : origin->index_to_rank_map_) { + for (auto const& elm : origin->index_to_rank_map_) { index_to_rank_map_.insert({elm.first, elm.second}); } } @@ -73,11 +73,8 @@ int Group::rank(int index) { if (this == MPI_GROUP_EMPTY) return MPI_UNDEFINED; - try { - return index_to_rank_map_.at(index); - } catch (std::out_of_range& unfound) { - return MPI_UNDEFINED; - } + auto rank = index_to_rank_map_.find(index); + return rank == index_to_rank_map_.end() ? MPI_UNDEFINED : rank->second; } void Group::ref() @@ -355,7 +352,7 @@ MPI_Group Group::f2c(int id) { return MPI_GROUP_EMPTY; } else if(F2C::f2c_lookup() != nullptr && id >= 0) { char key[KEY_SIZE]; - return static_cast(xbt_dict_get_or_null(F2C::f2c_lookup(), get_key(key, id))); + return static_cast(F2C::f2c_lookup()->at(get_key(key, id))); } else { return static_cast(MPI_GROUP_NULL); }