Skip to content

Commit c4887e4

Browse files
authored
Merge pull request zerebubuth#389 from Woazboat/emplace-back-instead-of-push-back
Use emplace_back instead of push_back, remove unnecessary temp objects
2 parents 8f03c38 + 44ada7f commit c4887e4

7 files changed

+12
-16
lines changed

src/api06/nodes_handler.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ nodes_responder::nodes_responder(mime::type mt, const vector<id_version> &ids,
2929

3030
for (const auto &idv : ids) {
3131
if (idv.version) {
32-
historic_ids.push_back(std::make_pair(idv.id, *idv.version));
32+
historic_ids.emplace_back(idv.id, *idv.version);
3333
} else {
3434
current_ids.push_back(idv.id);
3535
}

src/api06/relations_handler.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ relations_responder::relations_responder(mime::type mt, const vector<id_version>
3333

3434
for (id_version idv : ids) {
3535
if (idv.version) {
36-
historic_ids.push_back(std::make_pair(idv.id, *idv.version));
36+
historic_ids.emplace_back(idv.id, *idv.version);
3737
} else {
3838
current_ids.push_back(idv.id);
3939
}

src/api06/ways_handler.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ ways_responder::ways_responder(mime::type mt, const std::vector<id_version>& ids
2626

2727
for (id_version idv : ids) {
2828
if (idv.version) {
29-
historic_ids.push_back(std::make_pair(idv.id, *idv.version));
29+
historic_ids.emplace_back(idv.id, *idv.version);
3030
} else {
3131
current_ids.push_back(idv.id);
3232
}

src/backend.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ po::variables_map first_pass_argments(int argc, char *argv[],
2424
// them
2525
std::vector<std::string> args;
2626
for (int i = 1; i < argc; ++i) {
27-
args.push_back(argv[i]);
27+
args.emplace_back(argv[i]);
2828
}
2929

3030
po::variables_map vm;

src/backend/apidb/changeset_upload/relation_updater.cpp

+3-5
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ void ApiDB_Relation_Updater::add_relation(osm_changeset_id_t changeset_id,
4545
new_relation.old_id = old_id;
4646

4747
for (const auto &tag : tags)
48-
new_relation.tags.emplace_back(
49-
std::pair<std::string, std::string>(tag.first, tag.second));
48+
new_relation.tags.emplace_back(tag.first, tag.second);
5049

5150
osm_sequence_id_t member_seq = 0;
5251
for (const auto &member : members) {
@@ -80,8 +79,7 @@ void ApiDB_Relation_Updater::modify_relation(osm_changeset_id_t changeset_id,
8079
modify_relation.changeset_id = changeset_id;
8180

8281
for (const auto &tag : tags)
83-
modify_relation.tags.emplace_back(
84-
std::pair<std::string, std::string>(tag.first, tag.second));
82+
modify_relation.tags.emplace_back(tag.first, tag.second);
8583

8684
osm_sequence_id_t member_seq = 0;
8785
for (const auto &member : members) {
@@ -559,7 +557,7 @@ ApiDB_Relation_Updater::build_packages(
559557
++id_to_package[relation.id];
560558

561559
if (id_to_package[relation.id] + 1 > result.size())
562-
result.emplace_back(std::vector<ApiDB_Relation_Updater::relation_t>());
560+
result.emplace_back();
563561

564562
result.at(id_to_package[relation.id]).emplace_back(relation);
565563
}

src/backend/apidb/changeset_upload/way_updater.cpp

+3-5
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@ void ApiDB_Way_Updater::add_way(osm_changeset_id_t changeset_id,
4646
new_way.old_id = old_id;
4747

4848
for (const auto &tag : tags)
49-
new_way.tags.push_back(
50-
std::pair<std::string, std::string>(tag.first, tag.second));
49+
new_way.tags.emplace_back(tag.first, tag.second);
5150

5251
// If the following conditions are still not met, although our XML parser
5352
// raised an exception for it, it's clearly a programming error.
@@ -78,8 +77,7 @@ void ApiDB_Way_Updater::modify_way(osm_changeset_id_t changeset_id,
7877
modify_way.changeset_id = changeset_id;
7978

8079
for (const auto &tag : tags)
81-
modify_way.tags.push_back(
82-
std::pair<std::string, std::string>(tag.first, tag.second));
80+
modify_way.tags.emplace_back(tag.first, tag.second);
8381

8482
// If the following conditions are still not met, although our XML parser
8583
// raised an exception for it, it's clearly a programming error.
@@ -460,7 +458,7 @@ ApiDB_Way_Updater::build_packages(const std::vector<way_t> &ways) {
460458
++id_to_package[way.id];
461459

462460
if (id_to_package[way.id] + 1 > result.size())
463-
result.emplace_back(std::vector<ApiDB_Way_Updater::way_t>());
461+
result.emplace_back();
464462

465463
result.at(id_to_package[way.id]).emplace_back(way);
466464
}

src/backend/apidb/common_pgsql_selection.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -208,8 +208,8 @@ std::optional<T> extract_optional(const pqxx_field &f) {
208208

209209
tags.reserve(keys.size());
210210

211-
for(std::size_t i=0; i<keys.size(); i++)
212-
tags.push_back(std::make_pair(keys[i], values[i]));
211+
for (std::size_t i = 0; i < keys.size(); i++)
212+
tags.emplace_back(keys[i], values[i]);
213213

214214
return tags;
215215
}

0 commit comments

Comments
 (0)