X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d1a82dae27086cc6f9ea4e0163d2941c74135c94..13667460824c1a4d55d44f96adaee6eeda2394f4:/src/smpi/mpi/smpi_request.cpp diff --git a/src/smpi/mpi/smpi_request.cpp b/src/smpi/mpi/smpi_request.cpp index 0d846a1826..7007143bcc 100644 --- a/src/smpi/mpi/smpi_request.cpp +++ b/src/smpi/mpi/smpi_request.cpp @@ -897,28 +897,27 @@ MPI_Request Request::f2c(int id) { char key[KEY_SIZE]; if(id==MPI_FORTRAN_REQUEST_NULL) return static_cast(MPI_REQUEST_NULL); - return static_cast(xbt_dict_get(F2C::f2c_lookup(), get_key_id(key, id))); + return static_cast(F2C::f2c_lookup()->at(get_key_id(key, id))); } -int Request::add_f() { - if(F2C::f2c_lookup()==nullptr){ - F2C::set_f2c_lookup(xbt_dict_new_homogeneous(nullptr)); +int Request::add_f() +{ + if (F2C::f2c_lookup() == nullptr) { + F2C::set_f2c_lookup(new std::unordered_map); } char key[KEY_SIZE]; - xbt_dict_set(F2C::f2c_lookup(), get_key_id(key, F2C::f2c_id()), this, nullptr); + (*(F2C::f2c_lookup()))[get_key_id(key, F2C::f2c_id())] = this; F2C::f2c_id_increment(); return F2C::f2c_id()-1; } -void Request::free_f(int id) { +void Request::free_f(int id) +{ if (id != MPI_FORTRAN_REQUEST_NULL) { char key[KEY_SIZE]; - xbt_dict_remove(F2C::f2c_lookup(), get_key_id(key, id)); + F2C::f2c_lookup()->erase(get_key_id(key, id)); } } } } - - -