X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/611d822b02f836d7abe031cced6adc4281ef4356..788c2bda47c06816d2ba4f2d00033ae66a31e5d9:/src/surf/PropertyHolder.hpp diff --git a/src/surf/PropertyHolder.hpp b/src/surf/PropertyHolder.hpp index 98e3b5b1a4..a88589bbaf 100644 --- a/src/surf/PropertyHolder.hpp +++ b/src/surf/PropertyHolder.hpp @@ -1,12 +1,14 @@ -/* 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. */ #ifndef SRC_SURF_PROPERTYHOLDER_HPP_ #define SRC_SURF_PROPERTYHOLDER_HPP_ -#include + +#include #include +#include namespace simgrid { namespace surf { @@ -19,18 +21,19 @@ class PropertyHolder { // DO NOT DERIVE THIS CLASS, or the diamond inheritance m public: PropertyHolder() = default; - ~PropertyHolder(); + PropertyHolder(const PropertyHolder&) = delete; + PropertyHolder& operator=(const PropertyHolder&) = delete; - const char* getProperty(std::string key); - void setProperty(std::string id, std::string value); + const char* get_property(const std::string& key) const; + void set_property(const std::string& id, const std::string& value); - /* FIXME: This should not be exposed, as users may do bad things with the dict they got (it's not a copy). + /* FIXME: This should not be exposed, as users may do bad things with the map they got (it's not a copy). * But some user API expose this call so removing it is not so easy. */ - std::map* getProperties(); + std::unordered_map* get_properties(); private: - std::map* properties_ = nullptr; + std::unique_ptr> properties_ = nullptr; }; } /* namespace surf */