Skip to content
Snippets Groups Projects
Commit 3268321f authored by Lioncash's avatar Lioncash
Browse files

param_package: Take std::string by value in string-based Set() function

Allows avoiding string copies by letting the strings be moved into the
function calls.
parent 6279c2dc
No related branches found
No related tags found
No related merge requests found
......@@ -3,7 +3,9 @@
// Refer to the license.txt file included.
#include <array>
#include <utility>
#include <vector>
#include "common/logging/log.h"
#include "common/param_package.h"
#include "common/string_util.h"
......@@ -36,7 +38,7 @@ ParamPackage::ParamPackage(const std::string& serialized) {
part = Common::ReplaceAll(part, ESCAPE_CHARACTER_ESCAPE, {ESCAPE_CHARACTER});
}
Set(key_value[0], key_value[1]);
Set(key_value[0], std::move(key_value[1]));
}
}
......@@ -102,8 +104,8 @@ float ParamPackage::Get(const std::string& key, float default_value) const {
}
}
void ParamPackage::Set(const std::string& key, const std::string& value) {
data.insert_or_assign(key, value);
void ParamPackage::Set(const std::string& key, std::string value) {
data.insert_or_assign(key, std::move(value));
}
void ParamPackage::Set(const std::string& key, int value) {
......
......@@ -28,7 +28,7 @@ public:
std::string Get(const std::string& key, const std::string& default_value) const;
int Get(const std::string& key, int default_value) const;
float Get(const std::string& key, float default_value) const;
void Set(const std::string& key, const std::string& value);
void Set(const std::string& key, std::string value);
void Set(const std::string& key, int value);
void Set(const std::string& key, float value);
bool Has(const std::string& key) const;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment