A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
better message for this exception
[simgrid.git]
/
src
/
surf
/
PropertyHolder.cpp
diff --git
a/src/surf/PropertyHolder.cpp
b/src/surf/PropertyHolder.cpp
index
a6696ae
..
962f86e
100644
(file)
--- a/
src/surf/PropertyHolder.cpp
+++ b/
src/surf/PropertyHolder.cpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2015
. 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. */
/* 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. */
@@
-13,29
+13,27
@@
PropertyHolder::~PropertyHolder() {
}
/** @brief Return the property associated to the provided key (or nullptr if not existing) */
}
/** @brief Return the property associated to the provided key (or nullptr if not existing) */
-const char *PropertyHolder::getProperty(const char*key) {
+const char* PropertyHolder::get_property(const std::string& key)
+{
if (properties_ == nullptr)
return nullptr;
if (properties_ == nullptr)
return nullptr;
- try {
- return properties_->at(key).c_str();
- } catch (std::out_of_range& unfound) {
- 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 */
}
/** @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, std::string value)
{
if (not properties_)
{
if (not properties_)
- properties_
= new std::
map<std::string, std::string>;
- (*properties_)[key] =
value
;
+ properties_
= new std::unordered_
map<std::string, std::string>;
+ (*properties_)[key] =
std::move(value)
;
}
/** @brief Return the whole set of properties. Don't mess with it, dude! */
}
/** @brief Return the whole set of properties. Don't mess with it, dude! */
-std::
map<std::string, std::string>* PropertyHolder::getP
roperties()
+std::
unordered_map<std::string, std::string>* PropertyHolder::get_p
roperties()
{
if (not properties_)
{
if (not properties_)
- properties_ = new std::map<std::string, std::string>;
+ properties_ = new std::
unordered_
map<std::string, std::string>;
return properties_;
}
return properties_;
}