From 7fbd32b8df58864a0a3063b320ee33bcc374e636 Mon Sep 17 00:00:00 2001 From: Vyacheslav Ivanov Date: Fri, 2 Aug 2024 00:14:36 +0300 Subject: [PATCH] fix: optimization: PVS-Studio warning V823 Replaced 'push_back' with 'emplace_back' for better performance in containers. Reported by: PVS-Studio Signed-off-by: Vyacheslav Ivanov --- src/content/ContentLoader.cpp | 14 +++++++------- src/files/engine_paths.cpp | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/content/ContentLoader.cpp b/src/content/ContentLoader.cpp index a156d6ab..10c60df8 100644 --- a/src/content/ContentLoader.cpp +++ b/src/content/ContentLoader.cpp @@ -251,11 +251,11 @@ void ContentLoader::loadCustomBlockModel(Block& def, dynamic::Map* primitives) { if (boxarr->size() == 7) for (uint j = 6; j < 12; j++) { - def.modelTextures.push_back(boxarr->str(6)); + def.modelTextures.emplace_back(boxarr->str(6)); } else if (boxarr->size() == 12) for (uint j = 6; j < 12; j++) { - def.modelTextures.push_back(boxarr->str(j)); + def.modelTextures.emplace_back(boxarr->str(j)); } else for (uint j = 6; j < 12; j++) { @@ -276,7 +276,7 @@ void ContentLoader::loadCustomBlockModel(Block& def, dynamic::Map* primitives) { def.modelExtraPoints.push_back(p1+xw+yh); def.modelExtraPoints.push_back(p1+yh); - def.modelTextures.push_back(tgonobj->str(9)); + def.modelTextures.emplace_back(tgonobj->str(9)); } } } @@ -313,7 +313,7 @@ void ContentLoader::loadEntity(EntityDef& def, const std::string& name, const fs auto root = files::read_json(file); if (auto componentsarr = root->list("components")) { for (size_t i = 0; i < componentsarr->size(); i++) { - def.components.push_back(componentsarr->str(i)); + def.components.emplace_back(componentsarr->str(i)); } } if (auto boxarr = root->list("hitbox")) { @@ -324,12 +324,12 @@ void ContentLoader::loadEntity(EntityDef& def, const std::string& name, const fs if (auto sensorarr = sensorsarr->list(i)) { auto sensorType = sensorarr->str(0); if (sensorType == "aabb") { - def.boxSensors.push_back({i, { + def.boxSensors.emplace_back(i, AABB{ {sensorarr->num(1), sensorarr->num(2), sensorarr->num(3)}, {sensorarr->num(4), sensorarr->num(5), sensorarr->num(6)} - }}); + }); } else if (sensorType == "radius") { - def.radialSensors.push_back({i, sensorarr->num(1)}); + def.radialSensors.emplace_back(i, sensorarr->num(1)); } else { logger.error() << name << ": sensor #" << i << " - unknown type " << util::quote(sensorType); diff --git a/src/files/engine_paths.cpp b/src/files/engine_paths.cpp index c08d6bd2..00bc7670 100644 --- a/src/files/engine_paths.cpp +++ b/src/files/engine_paths.cpp @@ -214,7 +214,7 @@ std::vector ResPaths::listdirRaw(const std::string& folderName) con continue; for (const auto& entry : fs::directory_iterator(folder)) { auto name = entry.path().filename().u8string(); - entries.push_back(root.name+":"+folderName+"/"+name); + entries.emplace_back(root.name+":"+folderName+"/"+name); } } { @@ -223,7 +223,7 @@ std::vector ResPaths::listdirRaw(const std::string& folderName) con return entries; for (const auto& entry : fs::directory_iterator(folder)) { auto name = entry.path().filename().u8string(); - entries.push_back("core:"+folderName+"/"+name); + entries.emplace_back("core:"+folderName+"/"+name); } } return entries;