aboutsummaryrefslogtreecommitdiff
path: root/src/common/param_package.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-07-20 17:12:24 -0400
committerLioncash <mathew1800@gmail.com>2018-07-20 17:24:06 -0400
commit6279c2dcf43fb3f4749136b92744d0481e4cf0aa (patch)
tree5481381f6bd12189653b7ee06ccefe2cee0b9fa1 /src/common/param_package.cpp
parent474ec2ee5fd4047babcb24f48385dfde3e5b0421 (diff)
param_package: Use std::unordered_map's insert_or_assign instead of map indexing
This avoids a redundant std::string construction if a key doesn't exist in the map already. e.g. data[key] requires constructing a new default instance of the value in the map (but this is wasteful, since we're already setting something into the map over top of it).
Diffstat (limited to 'src/common/param_package.cpp')
-rw-r--r--src/common/param_package.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/common/param_package.cpp b/src/common/param_package.cpp
index bec58c6986..02399b3365 100644
--- a/src/common/param_package.cpp
+++ b/src/common/param_package.cpp
@@ -103,15 +103,15 @@ float ParamPackage::Get(const std::string& key, float default_value) const {
}
void ParamPackage::Set(const std::string& key, const std::string& value) {
- data[key] = value;
+ data.insert_or_assign(key, value);
}
void ParamPackage::Set(const std::string& key, int value) {
- data[key] = std::to_string(value);
+ data.insert_or_assign(key, std::to_string(value));
}
void ParamPackage::Set(const std::string& key, float value) {
- data[key] = std::to_string(value);
+ data.insert_or_assign(key, std::to_string(value));
}
bool ParamPackage::Has(const std::string& key) const {