Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Declare local variables inside the if statement.
[simgrid.git] / src / instr / instr_paje_types.cpp
index 0e31281..b3486f7 100644 (file)
@@ -68,14 +68,10 @@ void VariableType::instr_event(double now, double delta, const char* resource, d
   // to check if variables were previously set to 0, otherwise paje won't simulate them
   static std::set<std::string, std::less<>> platform_variables;
 
-  // create a key considering the resource and variable
-  std::string key = std::string(resource) + get_name();
-
-  // check if key exists: if it doesn't, set the variable to zero and mark this in the global map.
-  if (platform_variables.find(key) == platform_variables.end()) {
+  // create a key considering the resource and variable, and check if key exists in the global map:
+  // if it doesn't, set the variable to zero.
+  if (platform_variables.emplace(std::string(resource) + get_name()).second)
     set_event(now, 0);
-    platform_variables.insert(key);
-  }
 
   add_event(now, value);
   sub_event(now + delta, value);
@@ -109,12 +105,12 @@ void LinkType::end_event(Container* endContainer, const std::string& value, cons
 Type* Type::by_name(const std::string& name)
 {
   Type* ret = nullptr;
-  for (auto const& elm : children_) {
-    if (elm.second->name_ == name) {
+  for (auto const& [_, child] : children_) {
+    if (child->name_ == name) {
       if (ret != nullptr) {
         throw TracingError(XBT_THROW_POINT, "there are two children types with the same name?");
       } else {
-        ret = elm.second.get();
+        ret = child.get();
       }
     }
   }
@@ -137,7 +133,7 @@ void ValueType::add_entity_value(const std::string& name, const std::string& col
   auto it = values_.find(name);
   if (it == values_.end()) {
     XBT_DEBUG("new value %s, child of %s", name.c_str(), get_cname());
-    values_.try_emplace(name, EntityValue(name, color, this));
+    values_.try_emplace(name, name, color, this);
   }
 }