X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/f2907d4c4e2bfdd55ae8a7c41711b731d106f668..6c930c685c64eb5bcf2e73ba17bbeddc8fe19a74:/src/surf/network_interface.cpp diff --git a/src/surf/network_interface.cpp b/src/surf/network_interface.cpp index c315bb1002..fdb99fcd11 100644 --- a/src/surf/network_interface.cpp +++ b/src/surf/network_interface.cpp @@ -22,33 +22,35 @@ namespace simgrid { LinkImpl* LinkImpl::byName(const char* name) { - if (links->find(name) == links->end()) + try { + return links->at(name); + } catch (std::out_of_range& unfound) { return nullptr; - return links->at(name); + } } /** @brief Returns the amount of links in the platform */ int LinkImpl::linksCount() { return links->size(); + } + /** @brief Returns a list of all existing links */ + LinkImpl** LinkImpl::linksList() + { + LinkImpl** res = xbt_new(LinkImpl*, (int)links->size()); + int i = 0; + for (auto kv : *links) { + res[i] = kv.second; + i++; } - /** @brief Returns a list of all existing links */ - LinkImpl** LinkImpl::linksList() - { - LinkImpl** res = xbt_new(LinkImpl*, (int)links->size()); - int i = 0; - for (auto kv : *links) { - res[i] = kv.second; - i++; - } - return res; - } - /** @brief destructor of the static data */ - void LinkImpl::linksExit() - { - for (auto kv : *links) - (kv.second)->destroy(); - delete links; - } + return res; + } + /** @brief destructor of the static data */ + void LinkImpl::linksExit() + { + for (auto kv : *links) + (kv.second)->destroy(); + delete links; + } } }