Optimize parameter passing to avoid unnecessary copying

This commit is contained in:
Pugemon
2024-06-07 04:00:38 +03:00
parent 46ca1bb04a
commit f25a425cb9
123 changed files with 578 additions and 522 deletions
+4 -4
View File
@@ -110,7 +110,7 @@ void Map::str(const std::string& key, std::string& dst) const {
dst = get(key, dst);
}
std::string Map::get(const std::string& key, const std::string def) const {
std::string Map::get(const std::string& key, const std::string& def) const {
auto found = values.find(key);
if (found == values.end())
return def;
@@ -213,7 +213,7 @@ void Map::flag(const std::string& key, bool& dst) const {
dst = get(key, dst);
}
Map& Map::put(std::string key, const Value& value) {
Map& Map::put(const std::string& key, const Value& value) {
values[key] = value;
return *this;
}
@@ -222,13 +222,13 @@ void Map::remove(const std::string& key) {
values.erase(key);
}
List& Map::putList(std::string key) {
List& Map::putList(const std::string& key) {
auto arr = create_list();
put(key, arr);
return *arr;
}
Map& Map::putMap(std::string key) {
Map& Map::putMap(const std::string& key) {
auto obj = create_map();
put(key, obj);
return *obj;
+4 -4
View File
@@ -101,7 +101,7 @@ namespace dynamic {
return get(key, T());
}
std::string get(const std::string& key, const std::string def) const;
std::string get(const std::string& key, const std::string& def) const;
number_t get(const std::string& key, double def) const;
integer_t get(const std::string& key, integer_t def) const;
bool get(const std::string& key, bool def) const;
@@ -155,12 +155,12 @@ namespace dynamic {
Map& put(std::string key, const char* value) {
return put(key, Value(value));
}
Map& put(std::string key, const Value& value);
Map& put(const std::string& key, const Value& value);
void remove(const std::string& key);
List& putList(std::string key);
Map& putMap(std::string key);
List& putList(const std::string& key);
Map& putMap(const std::string& key);
bool has(const std::string& key) const;
size_t size() const;