diff options
author | Lioncash <mathew1800@gmail.com> | 2018-07-20 17:17:26 -0400 |
---|---|---|
committer | Lioncash <mathew1800@gmail.com> | 2018-07-20 17:24:06 -0400 |
commit | 3268321f4be987aab18c14f3b3ee478f46c7fe38 (patch) | |
tree | c74af88f19aa1e0e6215f9c33becbf38eb3f2149 /src/common/param_package.cpp | |
parent | 6279c2dcf43fb3f4749136b92744d0481e4cf0aa (diff) |
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.
Diffstat (limited to 'src/common/param_package.cpp')
-rw-r--r-- | src/common/param_package.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/common/param_package.cpp b/src/common/param_package.cpp index 02399b3365..9526ca0c64 100644 --- a/src/common/param_package.cpp +++ b/src/common/param_package.cpp @@ -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) { |