Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
please sonar
[simgrid.git] / src / surf / PropertyHolder.cpp
index 4458b2d..48f372f 100644 (file)
@@ -9,34 +9,31 @@
 namespace simgrid {
 namespace surf {
 
-PropertyHolder::PropertyHolder(xbt_dict_t props)
-: p_properties(props)
-{
-}
+PropertyHolder::PropertyHolder() = default;
 
 PropertyHolder::~PropertyHolder() {
-  xbt_dict_free(&p_properties);
+  xbt_dict_free(&properties_);
 }
 
-/** @brief Return the property associated to the provided key (or NULL if not existing) */
+/** @brief Return the property associated to the provided key (or nullptr if not existing) */
 const char *PropertyHolder::getProperty(const char*key) {
-  if (p_properties == NULL)
-    return NULL;
-  return (const char*) xbt_dict_get_or_null(p_properties,key);
+  if (properties_ == nullptr)
+    return nullptr;
+  return (const char*) xbt_dict_get_or_null(properties_,key);
 }
 
 /** @brief Change the value of a given key in the property set */
 void PropertyHolder::setProperty(const char*key, const char*value) {
-  if (!p_properties)
-    p_properties = xbt_dict_new();
-  xbt_dict_set(p_properties, key, xbt_strdup(value), &xbt_free_f);
+  if (!properties_)
+    properties_ = xbt_dict_new_homogeneous(xbt_free_f);
+  xbt_dict_set(properties_, key, xbt_strdup(value), nullptr);
 }
 
 /** @brief Return the whole set of properties. Don't mess with it, dude! */
 xbt_dict_t PropertyHolder::getProperties() {
-  if (!p_properties)
-    p_properties = xbt_dict_new();
-  return p_properties;
+  if (!properties_)
+    properties_ = xbt_dict_new_homogeneous(xbt_free_f);
+  return properties_;
 }
 
 } /* namespace surf */