From 788c2bda47c06816d2ba4f2d00033ae66a31e5d9 Mon Sep 17 00:00:00 2001 From: Arnaud Giersch Date: Wed, 17 Apr 2019 23:05:36 +0200 Subject: [PATCH 1/1] [sonar] Remove custom destructors for surf/PropertyHolder. --- src/surf/PropertyHolder.cpp | 12 ++++-------- src/surf/PropertyHolder.hpp | 5 +++-- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/surf/PropertyHolder.cpp b/src/surf/PropertyHolder.cpp index d1378fb47c..a5bd8024c8 100644 --- a/src/surf/PropertyHolder.cpp +++ b/src/surf/PropertyHolder.cpp @@ -8,14 +8,10 @@ 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(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(); @@ -25,7 +21,7 @@ const char* PropertyHolder::get_property(const std::string& key) const void PropertyHolder::set_property(const std::string& key, const std::string& value) { if (not properties_) - properties_ = new std::unordered_map; + properties_.reset(new std::unordered_map); (*properties_)[key] = value; } @@ -33,8 +29,8 @@ void PropertyHolder::set_property(const std::string& key, const std::string& val std::unordered_map* PropertyHolder::get_properties() { if (not properties_) - properties_ = new std::unordered_map; - return properties_; + properties_.reset(new std::unordered_map); + return properties_.get(); } } /* namespace surf */ diff --git a/src/surf/PropertyHolder.hpp b/src/surf/PropertyHolder.hpp index d2b5631931..a88589bbaf 100644 --- a/src/surf/PropertyHolder.hpp +++ b/src/surf/PropertyHolder.hpp @@ -5,6 +5,8 @@ #ifndef SRC_SURF_PROPERTYHOLDER_HPP_ #define SRC_SURF_PROPERTYHOLDER_HPP_ + +#include #include #include @@ -21,7 +23,6 @@ public: PropertyHolder() = default; PropertyHolder(const PropertyHolder&) = delete; PropertyHolder& operator=(const PropertyHolder&) = delete; - ~PropertyHolder(); const char* get_property(const std::string& key) const; void set_property(const std::string& id, const std::string& value); @@ -32,7 +33,7 @@ public: std::unordered_map* get_properties(); private: - std::unordered_map* properties_ = nullptr; + std::unique_ptr> properties_ = nullptr; }; } /* namespace surf */ -- 2.20.1