Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fix NS3 builds
[simgrid.git] / src / surf / network_interface.cpp
index c315bb1..fdb99fc 100644 (file)
@@ -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;
+  }
   }
 }