X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5901a7d814ef3c475058d0cc958bebc21c81238c..788c2bda47c06816d2ba4f2d00033ae66a31e5d9:/src/surf/PropertyHolder.cpp diff --git a/src/surf/PropertyHolder.cpp b/src/surf/PropertyHolder.cpp index eed6a29679..a5bd8024c8 100644 --- a/src/surf/PropertyHolder.cpp +++ b/src/surf/PropertyHolder.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2015-2018. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2015-2019. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -8,33 +8,29 @@ namespace simgrid { namespace surf { -PropertyHolder::~PropertyHolder() { - delete properties_; -} - /** @brief Return the property associated to the provided key (or nullptr if not existing) */ -const char* PropertyHolder::get_property(std::string key) +const char* PropertyHolder::get_property(const std::string& key) const { - if (properties_ == nullptr) + if (not properties_) return nullptr; auto prop = properties_->find(key); return prop == properties_->end() ? nullptr : prop->second.c_str(); } /** @brief Change the value of a given key in the property set */ -void PropertyHolder::set_property(std::string key, std::string value) +void PropertyHolder::set_property(const std::string& key, const std::string& value) { if (not properties_) - properties_ = new std::map; + properties_.reset(new std::unordered_map); (*properties_)[key] = value; } /** @brief Return the whole set of properties. Don't mess with it, dude! */ -std::map* PropertyHolder::get_properties() +std::unordered_map* PropertyHolder::get_properties() { if (not properties_) - properties_ = new std::map; - return properties_; + properties_.reset(new std::unordered_map); + return properties_.get(); } } /* namespace surf */