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.
This commit is contained in:
parent
6279c2dcf4
commit
3268321f4b
|
@ -3,7 +3,9 @@
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
|
#include <utility>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "common/logging/log.h"
|
#include "common/logging/log.h"
|
||||||
#include "common/param_package.h"
|
#include "common/param_package.h"
|
||||||
#include "common/string_util.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});
|
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) {
|
void ParamPackage::Set(const std::string& key, std::string value) {
|
||||||
data.insert_or_assign(key, value);
|
data.insert_or_assign(key, std::move(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
void ParamPackage::Set(const std::string& key, int 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;
|
std::string Get(const std::string& key, const std::string& default_value) const;
|
||||||
int Get(const std::string& key, int default_value) const;
|
int Get(const std::string& key, int default_value) const;
|
||||||
float Get(const std::string& key, float 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, int value);
|
||||||
void Set(const std::string& key, float value);
|
void Set(const std::string& key, float value);
|
||||||
bool Has(const std::string& key) const;
|
bool Has(const std::string& key) const;
|
||||||
|
|
Reference in New Issue