PVS-Studio Analysis Results


Date:08/10/22 18:32:17
PVS-Studio Version:7.19.61166.3606
Total Warnings (OP):985
Group Projects Location Level Code Message
Micro-optimizations

OpenXcom

SDL_keyboard.h:59 Medium V802 On 32-bit platform, structure size can be reduced from 16 to 12 bytes by rearranging the fields according to their sizes in decreasing order.
Micro-optimizations

OpenXcom

SDL_video.h:70 Medium V802 On 32-bit platform, structure size can be reduced from 40 to 36 bytes by rearranging the fields according to their sizes in decreasing order.
Micro-optimizations

OpenXcom

emittermanip.h:77 Medium V801 Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. content' with 'const .. &content'.
Micro-optimizations

OpenXcom

emittermanip.h:84 Medium V801 Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. content' with 'const .. &content'.
Micro-optimizations

OpenXcom

emittermanip.h:99 Medium V801 Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. content' with 'const .. &content'.
Micro-optimizations

OpenXcom

emittermanip.h:103 Medium V801 Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. content' with 'const .. &content'.
Micro-optimizations

OpenXcom

emittermanip.h:107 Medium V801 Decreased performance. It is better to redefine the second function argument as a reference. Consider replacing 'const .. content' with 'const .. &content'.
Micro-optimizations

OpenXcom

emittermanip.h:111 Medium V801 Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. content' with 'const .. &content'.
Micro-optimizations

OpenXcom

emittermanip.h:120 Medium V801 Decreased performance. It is better to redefine the first function argument as a reference. Consider replacing 'const .. content' with 'const .. &content'.
Micro-optimizations

OpenXcom

exceptions.h:126 High V811 Decreased performance. Excessive type casting: string -> char * -> string. Consider inspecting the 'msg.c_str()' expression.
Micro-optimizations

OpenXcom

exceptions.h:176 Low V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

convert.h:221 Low V826 Consider replacing the 'rhs' std::list with std::vector. Contiguous placement of elements in memory can be more efficient.
Micro-optimizations

OpenXcom

convert.h:229 Low V826 Consider replacing the 'rhs' std::list with std::vector. Insertions occur at the back side, and the container is traversed.
Micro-optimizations

OpenXcom

impl.h:50 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

iterator.h:21 Medium V832 It's better to use '= default;' syntax instead of empty constructor body.
Micro-optimizations

OpenXcom

BaseInfoState.cpp:171 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

BasescapeState.cpp:192 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

BasescapeState.cpp:212 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

BasescapeState.cpp:382 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'f->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BaseView.cpp:267 High V826 Consider replacing the 'facilities' std::vector with std::list. Overall efficiency of operations will increase.
Micro-optimizations

OpenXcom

BaseView.cpp:373 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getFacilities()' expression repeatedly.
Micro-optimizations

OpenXcom

BaseView.cpp:377 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BaseView.cpp:304 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'neighbor->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftArmorState.cpp:170 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'a->getUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftEquipmentState.cpp:79 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftEquipmentState.cpp:507 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftEquipmentState.cpp:586 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'c->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftEquipmentState.cpp:449 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'c->getVehicles()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftEquipmentState.cpp:549 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getStorageItems()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftInfoState.cpp:227 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'w1->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftInfoState.cpp:266 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'w2->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftInfoState.cpp:161 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:151 High V827 Maximum size of the 'sortOptions' vector is known at compile time. Consider pre-allocating it by calling sortOptions.reserve(16)
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:251 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getSoldiers()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:349 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getSoldiers()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:402 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getSoldiers()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:152 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:159 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:160 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:161 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:162 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:163 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:164 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:165 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:166 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:167 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:168 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:169 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:170 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:187 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:191 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:194 Medium V823 Decreased performance. Object may be created in-place in the 'sortOptions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

CraftSoldiersState.cpp:129 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftWeaponsState.cpp:144 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getCrafts()->at(_craft)' expression repeatedly.
Micro-optimizations

OpenXcom

CraftWeaponsState.cpp:72 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftWeaponsState.cpp:102 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getStorageItems()' expression repeatedly.
Micro-optimizations

OpenXcom

DismantleFacilityState.cpp:98 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_fac->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

DismantleFacilityState.cpp:106 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getFacilities()' expression repeatedly.
Micro-optimizations

OpenXcom

DismantleFacilityState.cpp:121 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

ManageAlienContainmentState.cpp:56 High V826 Consider replacing the 'researchList' std::vector with std::list. Overall efficiency of operations will increase.
Micro-optimizations

OpenXcom

ManageAlienContainmentState.cpp:60 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

ManufactureInfoState.cpp:534 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->button' expression repeatedly.
Micro-optimizations

OpenXcom

MiniBaseView.cpp:107 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_texture->getFrame(41)' expression repeatedly.
Micro-optimizations

OpenXcom

MonthlyCostsState.cpp:82 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

MonthlyCostsState.cpp:104 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

PlaceFacilityState.cpp:135 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

PlaceLiftState.cpp:57 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

PurchaseState.cpp:75 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

PurchaseState.cpp:138 Medium V823 Decreased performance. Object may be created in-place in the '_craftWeapons' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

PurchaseState.cpp:139 Medium V823 Decreased performance. Object may be created in-place in the '_craftWeapons' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

PurchaseState.cpp:145 Medium V823 Decreased performance. Object may be created in-place in the '_armors' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

PurchaseState.cpp:152 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

SackSoldierState.cpp:100 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getSoldiers()' expression repeatedly.
Micro-optimizations

OpenXcom

SelectStartFacilityState.cpp:81 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getFacilities()' expression repeatedly.
Micro-optimizations

OpenXcom

SellState.cpp:80 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

SellState.cpp:177 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getCrafts()' expression repeatedly.
Micro-optimizations

OpenXcom

SellState.cpp:154 Medium V823 Decreased performance. Object may be created in-place in the '_craftWeapons' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

SellState.cpp:155 Medium V823 Decreased performance. Object may be created in-place in the '_craftWeapons' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

SellState.cpp:161 Medium V823 Decreased performance. Object may be created in-place in the '_armors' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

SellState.cpp:369 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getSoldiers()' expression repeatedly.
Micro-optimizations

OpenXcom

SellState.cpp:396 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getStorageItems()' expression repeatedly.
Micro-optimizations

OpenXcom

SellState.cpp:406 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* j)->getItems()' expression repeatedly.
Micro-optimizations

OpenXcom

SellState.cpp:419 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getTransfers()' expression repeatedly.
Micro-optimizations

OpenXcom

SoldierArmorState.cpp:94 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'a->getUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

SoldierArmorState.cpp:71 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

SoldierDiaryMissionState.cpp:121 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_soldier->getDiary()' expression repeatedly.
Micro-optimizations

OpenXcom

SoldierDiaryMissionState.cpp:132 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'missionStatistics->at(missionId)' expression repeatedly.
Micro-optimizations

OpenXcom

SoldierDiaryPerformanceState.cpp:320 Medium V823 Decreased performance. Object may be created in-place in the '_commendationsListEntry' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

SoldierDiaryPerformanceState.cpp:246 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_soldier->getDiary()' expression repeatedly.
Micro-optimizations

OpenXcom

SoldierDiaryPerformanceState.cpp:282 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

SoldierDiaryPerformanceState.cpp:336 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

SoldierDiaryPerformanceState.cpp:363 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_commendationSprite->getFrame(_sprite)' expression repeatedly.
Micro-optimizations

OpenXcom

SoldierDiaryPerformanceState.cpp:370 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

SoldierInfoState.cpp:341 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

SoldierMemorialState.cpp:94 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getDeadSoldiers()' expression repeatedly.
Micro-optimizations

OpenXcom

SoldierMemorialState.cpp:116 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'death->getTime()' expression repeatedly.
Micro-optimizations

OpenXcom

StoresState.cpp:66 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

TransferBaseState.cpp:79 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

TransferItemsState.cpp:73 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

TransferItemsState.cpp:131 Medium V823 Decreased performance. Object may be created in-place in the '_craftWeapons' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

TransferItemsState.cpp:132 Medium V823 Decreased performance. Object may be created in-place in the '_craftWeapons' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

TransferItemsState.cpp:138 Medium V823 Decreased performance. Object may be created in-place in the '_armors' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

TransferItemsState.cpp:341 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_baseFrom->getSoldiers()' expression repeatedly.
Micro-optimizations

OpenXcom

TransferItemsState.cpp:409 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_baseTo->getTransfers()' expression repeatedly.
Micro-optimizations

OpenXcom

ActionMenuItem.cpp:38 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

ActionMenuState.cpp:222 Medium V820 The 'weaponUsable' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

ActionMenuState.cpp:180 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->key.keysym' expression repeatedly.
Micro-optimizations

OpenXcom

ActionMenuState.cpp:194 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

ActionMenuState.cpp:194 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getSavedBattle()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:591 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getTileEngine()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:617 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getPathfinding()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1047 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getTileEngine()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1164 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getPathfinding()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1566 Medium V807 Decreased performance. Consider creating a reference to avoid using the '(* i)->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:2101 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getTileEngine()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:103 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getNodes()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:550 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getPathfinding()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:928 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getPathfinding()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1009 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getTileEngine()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1269 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_unit->getBaseStats()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1458 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getPathfinding()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1530 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getTileEngine()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1627 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getTileEngine()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1673 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getPathfinding()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1765 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_attackAction->weapon->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1904 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_unit->getVisibleUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

AIModule.cpp:1907 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getBaseStats()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:588 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:1752 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'targetItem->getTile()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:1832 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'item->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:1869 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:383 Low V807 Decreased performance. Consider creating a reference to avoid using the '_save->getTiles()[i]->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:400 Low V807 Decreased performance. Consider creating a reference to avoid using the 't->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:567 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'weapon->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:1309 Low V807 Decreased performance. Consider creating a reference to avoid using the 'unit->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:1451 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_currentAction.weapon->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:1456 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_currentAction.actor->getVisibleUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:1540 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getPathfinding()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:2090 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:2153 Low V807 Decreased performance. Consider creating a reference to avoid using the 't->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGame.cpp:828 Low V815 Decreased performance. Consider replacing the expression '_currentAction.result = ""' with '_currentAction.result.clear()'.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:2395 High V823 Decreased performance. Object may be created in-place in the '_save->getStorageSpace()' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1957 High V829 Lifetime of the heap-allocated variable 'set' is limited to the current function's scope. Consider allocating it on the stack instead.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1958 High V829 Lifetime of the heap-allocated variable 'data' is limited to the current function's scope. Consider allocating it on the stack instead.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:201 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:297 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getItems()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:413 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:507 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:558 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'ruleDeploy->getTerrains()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:773 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_craftInventoryTile->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1048 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1180 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1375 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'item->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1974 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_craftInventoryTile->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1976 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:2473 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getNodes()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:2586 Medium V823 Decreased performance. Object may be created in-place in the 'valid' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:81 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:249 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:304 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getUnit()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:389 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getOwner()->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:537 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getTileEngine()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:547 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:635 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getTileEngine()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:704 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:737 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getStorageItems()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:825 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* j)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:887 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'v->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:888 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:906 Low V807 Decreased performance. Consider creating a reference to avoid using the 'rule->getBuiltInWeapons()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:972 Low V807 Decreased performance. Consider creating a reference to avoid using the '_craft->getRules()->getDeployment()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1058 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1102 Low V807 Decreased performance. Consider creating a reference to avoid using the 'rule->getBuiltInWeapons()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1180 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1287 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1306 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'item->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1462 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1755 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getNodes()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1797 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1816 Low V807 Decreased performance. Consider creating a reference to avoid using the '_save->getTiles()[i]->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1822 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getTileEngine()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1849 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1863 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1870 Low V807 Decreased performance. Consider creating a reference to avoid using the 'rule->getBuiltInWeapons()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:1916 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:2057 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'command->getConditionals()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:2202 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'command->getGroups()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:2209 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'command->getBlocks()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:2294 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_craft->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:2352 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:2911 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'command->getGroups()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:2925 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'command->getBlocks()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:3055 Low V807 Decreased performance. Consider creating a reference to avoid using the 'ruleDeploy->getMusic()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeGenerator.cpp:3059 Low V807 Decreased performance. Consider creating a reference to avoid using the '_terrain->getMusic()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:88 Medium V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:625 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->motion' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:635 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_map->getCamera()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:674 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getScreen()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:902 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_battleGame->getPathfinding()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:130 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:596 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:702 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:770 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->button' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:1232 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_battleGame->getPathfinding()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:1325 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'battleUnit->getBaseStats()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:1345 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'leftHandItem->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:1360 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'rightHandItem->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:1561 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:1561 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->button' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:1587 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->key.keysym' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:1841 Low V807 Decreased performance. Consider creating a reference to avoid using the '_trajectory.at(0)' expression repeatedly.
Micro-optimizations

OpenXcom

BattlescapeState.cpp:2195 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_battleGame->getPathfinding()' expression repeatedly.
Micro-optimizations

OpenXcom

BattleState.cpp:40 Low V815 Decreased performance. Consider replacing the expression '_action.result = ""' with '_action.result.clear()'.
Micro-optimizations

OpenXcom

BriefingState.cpp:170 Low V815 Decreased performance. Consider replacing the expression '_cutsceneId = ""' with '_cutsceneId.clear()'.
Micro-optimizations

OpenXcom

Camera.cpp:48 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Camera.cpp:71 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->button' expression repeatedly.
Micro-optimizations

OpenXcom

CommendationLateState.cpp:103 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* s)->getDiary()' expression repeatedly.
Micro-optimizations

OpenXcom

CommendationLateState.cpp:129 Low V807 Decreased performance. Consider creating a reference to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

CommendationState.cpp:118 Low V807 Decreased performance. Consider creating a reference to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1214 High V823 Decreased performance. Object may be created in-place in the '_soldierStats' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

DebriefingState.cpp:447 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:457 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'battle->getUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:492 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '(* deadUnit)->getGeoscapeSoldier()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:548 Medium V807 Decreased performance. Consider creating a reference to avoid using the '(* j)->getStatistics()->kills' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:860 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:987 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'battle->getUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1572 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'craft->getVehicles()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1584 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1650 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '(* it)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:548 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* j)->getStatistics()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:568 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* j)->getGeoscapeSoldier()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:604 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* j)->getGeoscapeSoldier()->getDiary()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:634 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:787 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:882 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'craft->getDestination()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:922 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* k)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:971 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'save->getMissionSites()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1043 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'save->getUfos()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1103 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'save->getAlienBases()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1493 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'base->getVehicles()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1499 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1514 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getUfos()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1526 Low V807 Decreased performance. Consider creating a reference to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1555 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'base->getStorageItems()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1650 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1747 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'from->getArmor()' expression repeatedly.
Micro-optimizations

OpenXcom

DebriefingState.cpp:1743 Low V821 Decreased performance. The 'type' variable can be constructed in a lower level scope.
Micro-optimizations

OpenXcom

Explosion.cpp:42 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

ExplosionBState.cpp:70 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_item->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

ExplosionBState.cpp:184 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getMap()->getExplosions()' expression repeatedly.
Micro-optimizations

OpenXcom

ExplosionBState.cpp:114 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getMap()' expression repeatedly.
Micro-optimizations

OpenXcom

ExplosionBState.cpp:309 Low V807 Decreased performance. Consider creating a reference to avoid using the 't->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

Inventory.cpp:67 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

Inventory.cpp:144 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

Inventory.cpp:156 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'i->second' expression repeatedly.
Micro-optimizations

OpenXcom

Inventory.cpp:872 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_selUnit->getTile()->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

Inventory.cpp:249 Medium V823 Decreased performance. Object may be created in-place in the '_grenadeIndicators' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Inventory.cpp:268 Medium V823 Decreased performance. Object may be created in-place in the '_grenadeIndicators' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Inventory.cpp:233 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

Inventory.cpp:234 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getSlot()' expression repeatedly.
Micro-optimizations

OpenXcom

Inventory.cpp:528 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'item->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

Inventory.cpp:532 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

Inventory.cpp:619 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_selItem->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

Inventory.cpp:668 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'item->getRules()->getCompatibleAmmo()' expression repeatedly.
Micro-optimizations

OpenXcom

Inventory.cpp:888 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

InventoryState.cpp:368 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'unit->getBaseStats()' expression repeatedly.
Micro-optimizations

OpenXcom

InventoryState.cpp:261 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_battleGame->getTileEngine()' expression repeatedly.
Micro-optimizations

OpenXcom

InventoryState.cpp:320 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

InventoryState.cpp:321 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'texture->getFrame(20 + s->getRank())' expression repeatedly.
Micro-optimizations

OpenXcom

InventoryState.cpp:633 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

InventoryState.cpp:917 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

InventoryState.cpp:954 Low V815 Decreased performance. Consider replacing the expression '_currentTooltip = ""' with '_currentTooltip.clear()'.
Micro-optimizations

OpenXcom

InventoryState.cpp:236 Low V826 Consider replacing the 'inventoryTemplate' std::vector with std::list. Overall efficiency of operations will increase.
Micro-optimizations

OpenXcom

InventoryState.cpp:600 Low V826 Consider replacing the 'unitInv' std::vector with std::list. Overall efficiency of operations will increase.
Micro-optimizations

OpenXcom

InventoryState.cpp:632 Low V826 Consider replacing the 'groundInv' std::vector with std::list. Overall efficiency of operations will increase.
Micro-optimizations

OpenXcom

Map.cpp:1542 High V829 Lifetime of the heap-allocated variable 'unitSprite' is limited to the current function's scope. Consider allocating it on the stack instead.
Micro-optimizations

OpenXcom

Map.cpp:79 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:201 Low V807 Decreased performance. Consider creating a reference to avoid using the '_projectile->getPosition(0)' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:212 Low V807 Decreased performance. Consider creating a reference to avoid using the '(* i)->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:245 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:510 Low V807 Decreased performance. Consider creating a reference to avoid using the '_projectile->getPosition(1 - i)' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:730 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tile->getMapData(O_WESTWALL)' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:744 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tile->getMapData(O_NORTHWALL)' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:755 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tile->getMapData(O_OBJECT)' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:786 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getTileEngine()' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:1426 Low V807 Decreased performance. Consider creating a reference to avoid using the 'unit->getDestination()' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:1426 Low V807 Decreased performance. Consider creating a reference to avoid using the 'unit->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:1443 Low V807 Decreased performance. Consider creating a reference to avoid using the 'unit->getLastPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:1544 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'unit->getArmor()' expression repeatedly.
Micro-optimizations

OpenXcom

Map.cpp:1559 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

MedikitView.cpp:71 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()->getInterface("medikit")' expression repeatedly.
Micro-optimizations

OpenXcom

MeleeAttackBState.cpp:95 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

MeleeAttackBState.cpp:136 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getSave()' expression repeatedly.
Micro-optimizations

OpenXcom

MeleeAttackBState.cpp:236 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_weapon->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

MeleeAttackBState.cpp:238 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_ammo->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

MiniMapState.cpp:106 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

MiniMapView.cpp:107 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 't->getUnit()' expression repeatedly.
Micro-optimizations

OpenXcom

MiniMapView.cpp:315 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->motion' expression repeatedly.
Micro-optimizations

OpenXcom

MiniMapView.cpp:62 Low V807 Decreased performance. Consider creating a reference to avoid using the '_camera->getCenterPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

MiniMapView.cpp:188 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

MiniMapView.cpp:286 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

Particle.cpp:54 High V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Pathfinding.cpp:50 High V823 Decreased performance. Object may be created in-place in the '_nodes' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Pathfinding.cpp:58 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Pathfinding.cpp:85 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'unit->getArmor()' expression repeatedly.
Micro-optimizations

OpenXcom

Pathfinding.cpp:591 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'tile->getMapData(O_OBJECT)' expression repeatedly.
Micro-optimizations

OpenXcom

Pathfinding.cpp:637 Low V807 Decreased performance. Consider creating a reference to avoid using the '_unit->getUnitsSpottedThisTurn()' expression repeatedly.
Micro-optimizations

OpenXcom

Pathfinding.cpp:937 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_save->getBattleGame()' expression repeatedly.
Micro-optimizations

OpenXcom

PathfindingNode.cpp:37 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Projectile.cpp:64 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'ammo->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

Projectile.cpp:103 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Projectile.cpp:143 Low V807 Decreased performance. Consider creating a reference to avoid using the '_trajectory.at(0)' expression repeatedly.
Micro-optimizations

OpenXcom

Projectile.cpp:317 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'endTile->getMapData(O_OBJECT)' expression repeatedly.
Micro-optimizations

OpenXcom

Projectile.cpp:559 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

ProjectileFlyBState.cpp:500 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getMap()->getProjectile()' expression repeatedly.
Micro-optimizations

OpenXcom

ProjectileFlyBState.cpp:644 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getMap()' expression repeatedly.
Micro-optimizations

OpenXcom

ProjectileFlyBState.cpp:111 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

ProjectileFlyBState.cpp:148 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'weapon->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

ProjectileFlyBState.cpp:279 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getMap()' expression repeatedly.
Micro-optimizations

OpenXcom

ProjectileFlyBState.cpp:302 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getMap()' expression repeatedly.
Micro-optimizations

OpenXcom

ProjectileFlyBState.cpp:343 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_action.weapon->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

ProjectileFlyBState.cpp:448 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getSave()' expression repeatedly.
Micro-optimizations

OpenXcom

ProjectileFlyBState.cpp:450 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getMap()' expression repeatedly.
Micro-optimizations

OpenXcom

ProjectileFlyBState.cpp:568 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_ammo->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

PsiAttackBState.cpp:149 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getSave()' expression repeatedly.
Micro-optimizations

OpenXcom

PsiAttackBState.cpp:69 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getSave()' expression repeatedly.
Micro-optimizations

OpenXcom

PsiAttackBState.cpp:134 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_target->getBaseStats()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:2403 Medium V801 Decreased performance. It is better to redefine the seventh function argument as a reference. Consider replacing 'const .. delta' with 'const .. &delta'.
Micro-optimizations

OpenXcom

TileEngine.cpp:434 Medium V807 Decreased performance. Consider creating a reference to avoid using the '_trajectory.at(i)' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:516 Medium V807 Decreased performance. Consider creating a reference to avoid using the '_trajectory.at(0)' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:609 Medium V807 Decreased performance. Consider creating a reference to avoid using the '_trajectory.at(0)' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:1012 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'weapon->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:1329 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'dest->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:1531 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'tiles[i]->getMapData(currentpart)' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:1637 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'endTile->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:1637 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'startTile->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:2659 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'unit->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:2720 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'occupant->getArmor()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:940 Medium V823 Decreased performance. Object may be created in-place in the 'spotters' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2025 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2028 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2032 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2033 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2036 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2037 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2041 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2045 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2047 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2050 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2051 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2055 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2058 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2059 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2062 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2063 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2067 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2070 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2074 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2075 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2078 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2082 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2086 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:2087 Medium V823 Decreased performance. Object may be created in-place in the 'checkPositions' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TileEngine.cpp:434 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

TileEngine.cpp:625 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

TileEngine.cpp:798 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

TileEngine.cpp:64 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

TileEngine.cpp:98 Low V807 Decreased performance. Consider creating a reference to avoid using the 'tile->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:366 Low V807 Decreased performance. Consider creating a reference to avoid using the 'currentUnit->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:462 Low V807 Decreased performance. Consider creating a reference to avoid using the 'tile->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:541 Low V807 Decreased performance. Consider creating a reference to avoid using the 'tile->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:651 Low V807 Decreased performance. Consider creating a reference to avoid using the 'tile->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:789 Low V807 Decreased performance. Consider creating a reference to avoid using the '_trajectory.at(0)' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:1057 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action.weapon->getAmmoItem()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:1177 Low V807 Decreased performance. Consider creating a reference to avoid using the 'bu->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:2601 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'unit->getArmor()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:2778 Low V807 Decreased performance. Consider creating a pointer to avoid using the 't->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:2816 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'item->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:3009 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'targetTile->getMapData(O_OBJECT)' expression repeatedly.
Micro-optimizations

OpenXcom

TileEngine.cpp:3032 Low V821 Decreased performance. The 'hitPos' variable can be constructed in a lower level scope.
Micro-optimizations

OpenXcom

TileEngine.cpp:836 Low V826 Consider replacing the 'spotters' std::vector with std::list. Overall efficiency of operations will increase.
Micro-optimizations

OpenXcom

UnitDieBState.cpp:278 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_unit->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitDieBState.cpp:101 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getSave()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitDieBState.cpp:323 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getSave()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitFallBState.cpp:134 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '(* unit)->getTile()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitFallBState.cpp:227 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'unitBelow->getArmor()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitFallBState.cpp:71 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getSave()->getFallingUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitFallBState.cpp:149 Low V826 Consider replacing the 'fallingUnits' std::list with std::vector. Contiguous placement of elements in memory can be more efficient.
Micro-optimizations

OpenXcom

UnitInfoState.cpp:456 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_unit->getBaseStats()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitInfoState.cpp:251 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitInfoState.cpp:608 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitInfoState.cpp:610 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->button' expression repeatedly.
Micro-optimizations

OpenXcom

UnitPanicBState.cpp:70 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'ba.weapon->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitPanicBState.cpp:84 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_unit->getVisibleUnits()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitPanicBState.cpp:99 Low V807 Decreased performance. Consider creating a reference to avoid using the '_unit->getPosition()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitSprite.cpp:444 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_itemL->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitSprite.cpp:684 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_itemL->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitSprite.cpp:379 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_itemR->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitSprite.cpp:648 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_itemR->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitSprite.cpp:915 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_itemR->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitSprite.cpp:943 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_itemL->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitSprite.cpp:1092 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_itemR->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitSprite.cpp:1143 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_itemL->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

UnitWalkBState.cpp:113 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_parent->getSave()' expression repeatedly.
Micro-optimizations

OpenXcom

Action.cpp:37 High V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Action.h:33 Medium V802 On 32-bit platform, structure size can be reduced from 56 to 48 bytes by rearranging the fields according to their sizes in decreasing order.
Micro-optimizations

OpenXcom

fmopl.h:50 Low V802 On 32-bit platform, structure size can be reduced from 80 to 72 bytes by rearranging the fields according to their sizes in decreasing order.
Micro-optimizations

OpenXcom

CrossPlatform.cpp:161 High V827 Maximum size of the 'list' vector is known at compile time. Consider pre-allocating it by calling list.reserve(3)
Micro-optimizations

OpenXcom

CrossPlatform.cpp:252 High V827 Maximum size of the 'list' vector is known at compile time. Consider pre-allocating it by calling list.reserve(3)
Micro-optimizations

OpenXcom

FastLineClip.h:48 High V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

FileMap.cpp:149 High V823 Decreased performance. Object may be created in-place in the '_resources' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

FileMap.cpp:162 High V823 Decreased performance. Object may be created in-place in the '_vdirs' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

FlcPlayer.cpp:159 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_realScreen->getSurface()' expression repeatedly.
Micro-optimizations

OpenXcom

Game.cpp:562 Medium V820 The 'defaultPath' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

Game.cpp:581 Medium V820 The 'lang' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

Game.cpp:163 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_states.back()' expression repeatedly.
Micro-optimizations

OpenXcom

Game.cpp:258 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action.getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

Game.cpp:261 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action.getDetails()->key.keysym' expression repeatedly.
Micro-optimizations

OpenXcom

Game.cpp:568 Low V821 Decreased performance. The 'lang' variable can be constructed in a lower level scope.
Micro-optimizations

OpenXcom

InteractiveSurface.cpp:113 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

Language.cpp:186 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'i->second' expression repeatedly.
Micro-optimizations

OpenXcom

Language.cpp:181 Low V820 The 'doc' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:237 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:238 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:239 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:240 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:241 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:242 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:243 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:244 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:245 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:246 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:247 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:248 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:249 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:250 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

LanguagePlurality.cpp:251 Medium V823 Decreased performance. Object may be created in-place in the 's_factoryFunctions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

ModInfo.cpp:103 Low V815 Decreased performance. Consider replacing the expression '_master = ""' with '_master.clear()'.
Micro-optimizations

OpenXcom

ModInfo.cpp:113 Low V815 Decreased performance. Consider replacing the expression '_master = ""' with '_master.clear()'.
Micro-optimizations

OpenXcom

OpenGL.cpp:121 Low V809 Verifying that a pointer value is not NULL is not required. The 'if (buffer_surface)' check can be removed.
Micro-optimizations

OpenXcom

OptionInfo.cpp:139 Medium V820 The 'value' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

Options.cpp:69 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:70 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:71 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:72 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:73 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:76 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:77 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:78 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:79 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:86 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:87 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:88 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:89 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:90 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:91 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:92 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:93 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:94 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:95 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:96 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:97 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:98 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:99 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:100 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:101 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:102 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:103 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:104 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:105 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:106 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:107 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:108 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:109 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:110 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:111 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:112 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:113 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:114 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:115 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:116 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:117 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:118 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:119 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:120 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:121 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:122 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:123 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:124 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:125 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:126 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:127 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:128 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:129 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:130 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:131 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:132 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:133 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:134 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:135 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:136 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:137 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:138 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:139 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:140 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:141 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:142 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:143 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:144 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:145 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:146 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:149 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:150 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:151 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:152 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:153 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:154 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:155 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:169 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:172 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:173 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:174 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:175 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:176 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:177 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:178 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:179 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:180 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:181 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:182 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:183 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:184 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:185 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:187 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:188 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:189 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:190 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:191 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:192 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:193 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:194 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:195 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:196 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:197 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:198 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:199 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:200 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:201 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:202 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:203 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:204 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:205 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:206 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:209 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:210 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:211 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:212 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:213 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:214 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:215 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:216 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:217 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:218 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:219 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:220 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:221 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:222 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:223 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:224 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:225 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:226 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:227 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:228 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:229 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:230 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:231 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:232 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:233 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:234 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:235 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:236 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:237 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:238 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:239 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:240 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:241 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:242 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:243 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:244 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:245 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:246 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:247 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:248 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:249 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:250 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:251 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:252 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:253 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:254 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:255 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:256 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:257 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:258 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:259 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:260 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:261 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:262 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:263 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:264 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:265 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:266 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:267 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:268 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:269 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:270 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:271 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:272 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:273 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:274 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:275 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:276 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:277 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:278 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:279 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:280 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:281 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:282 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:283 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:284 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:290 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:291 High V823 Decreased performance. Object may be created in-place in the '_info' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:323 High V823 Decreased performance. Object may be created in-place in the 'mods' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:328 High V823 Decreased performance. Object may be created in-place in the 'mods' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:466 High V823 Decreased performance. Object may be created in-place in the '_modInfos' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

Options.cpp:523 High V823 Decreased performance. Object may be created in-place in the '_modInfos' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

Options.cpp:966 High V823 Decreased performance. Object may be created in-place in the 'mods' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Options.cpp:873 High V826 Consider replacing the 'saves' std::vector with std::list. Overall efficiency of operations will increase.
Micro-optimizations

OpenXcom

Options.cpp:693 Medium V820 The 'inactiveMaster' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

Options.cpp:698 Medium V820 The 'activeMaster' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

Options.cpp:588 Low V815 Decreased performance. Consider replacing the expression '_masterMod = ""' with '_masterMod.clear()'.
Micro-optimizations

OpenXcom

Options.cpp:1050 Low V820 The 'node' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

Screen.cpp:159 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

Screen.cpp:318 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_surface->getSurface()' expression repeatedly.
Micro-optimizations

OpenXcom

Screen.cpp:322 Low V809 Verifying that a pointer value is not NULL is not required. The 'if (_surface)' check can be removed.
Micro-optimizations

OpenXcom

Screen.cpp:464 Low V815 Decreased performance. Consider replacing the expression 'Options::useOpenGLShader = ""' with 'Options::useOpenGLShader.clear()'.
Micro-optimizations

OpenXcom

State.cpp:243 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getCursor()' expression repeatedly.
Micro-optimizations

OpenXcom

State.cpp:246 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getFpsCounter()' expression repeatedly.
Micro-optimizations

OpenXcom

Timer.cpp:59 High V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

AlienBaseState.cpp:75 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

AlienBaseState.cpp:98 Medium V820 The 'region' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

AlienBaseState.cpp:77 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

AllocatePsiTrainingState.cpp:106 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* s)->getCurrentStats()' expression repeatedly.
Micro-optimizations

OpenXcom

BaseDefenseState.cpp:193 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(def)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BaseDestroyedState.cpp:79 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getUfos()' expression repeatedly.
Micro-optimizations

OpenXcom

BaseDestroyedState.cpp:92 Low V807 Decreased performance. Consider creating a reference to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

BaseDestroyedState.cpp:118 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

ConfirmCydoniaState.cpp:92 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

ConfirmNewBaseState.cpp:108 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

ConfirmNewBaseState.cpp:81 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:318 Medium V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:483 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_craft->getWeapons()' expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:1067 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:304 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:321 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:327 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:483 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_craft->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:1232 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_ufo->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:1353 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_craft->getWeapons()' expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:1375 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_craft->getWeapons()' expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:1397 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_craft->getWeapons()' expression repeatedly.
Micro-optimizations

OpenXcom

DogfightState.cpp:1667 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_craft->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

FundingState.cpp:91 Medium V807 Decreased performance. Consider creating a reference to avoid using the '(* i)->getFunding()' expression repeatedly.
Micro-optimizations

OpenXcom

FundingState.cpp:88 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getCountries()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeCraftState.cpp:182 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_craft->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeCraftState.cpp:195 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_craft->getWeapons()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:2360 High V826 Consider replacing the 'regions' std::vector with std::list. Overall efficiency of operations will increase.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:223 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:597 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getTime()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:709 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getUfos()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1083 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1083 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1234 Medium V807 Decreased performance. Consider creating a reference to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1253 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getUfos()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1259 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1397 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1522 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1676 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getSoldiers()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1694 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getAlienBases()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1739 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1793 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getScreen()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:2370 Medium V823 Decreased performance. Object may be created in-place in the 'regionsToKeep' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:2415 Medium V823 Decreased performance. Object may be created in-place in the 'validAreas' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:2500 Medium V823 Decreased performance. Object may be created in-place in the 'regionsMaster' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:434 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:437 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->key.keysym' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:452 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:459 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:511 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:537 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:694 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:717 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getMissionSites()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:882 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* j)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1011 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* d)->getUfo()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1020 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getWaypoints()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1121 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getUfos()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1185 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1377 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getMissionSites()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1522 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1564 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1569 Low V807 Decreased performance. Consider creating a reference to avoid using the 'research->getGetOneFree()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:1771 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getAlienBases()' expression repeatedly.
Micro-optimizations

OpenXcom

GeoscapeState.cpp:2085 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* d)->getUfo()' expression repeatedly.
Micro-optimizations

OpenXcom

Globe.cpp:713 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

Globe.cpp:929 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getTime()' expression repeatedly.
Micro-optimizations

OpenXcom

Globe.cpp:1272 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

Globe.cpp:1297 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

Globe.cpp:1475 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '(* j)->getDestination()' expression repeatedly.
Micro-optimizations

OpenXcom

Globe.cpp:1525 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

Globe.cpp:1615 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->motion' expression repeatedly.
Micro-optimizations

OpenXcom

Globe.cpp:363 Medium V810 Decreased performance. The 'sin(c)' function was called several times with identical arguments. The result should possibly be saved to a temporary variable, which then could be used while calling the 'atan2' function.
Micro-optimizations

OpenXcom

Globe.cpp:279 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

Globe.cpp:1586 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:100 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:739 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'country->getActivityAlien()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:748 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'country->getFunding()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:757 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'country->getActivityXcom()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:905 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'region->getActivityAlien()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:914 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'region->getActivityXcom()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:93 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:109 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:146 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:187 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:768 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:770 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:772 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:804 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:806 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:808 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:925 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:927 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:957 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:959 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:1109 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

GraphsState.cpp:95 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()->getInterface("graphs")' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:104 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* iter)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:109 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_btnRegions.at(offset)' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:146 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_btnCountries.at(offset)' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:246 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()->getTime()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:330 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:661 Low V807 Decreased performance. Consider creating a reference to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:672 Low V807 Decreased performance. Consider creating a reference to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:683 Low V807 Decreased performance. Consider creating a reference to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:838 Low V807 Decreased performance. Consider creating a reference to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:853 Low V807 Decreased performance. Consider creating a reference to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:988 Low V807 Decreased performance. Consider creating a reference to avoid using the '_game->getSavedGame()->getFundsList()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:1035 Low V807 Decreased performance. Consider creating a reference to avoid using the '_game->getSavedGame()->getExpenditures()' expression repeatedly.
Micro-optimizations

OpenXcom

GraphsState.cpp:1073 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_financeLines.at(button)' expression repeatedly.
Micro-optimizations

OpenXcom

ItemsArrivingState.cpp:106 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getTransfers()' expression repeatedly.
Micro-optimizations

OpenXcom

MonthlyReportState.cpp:261 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

MonthlyReportState.cpp:334 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

MonthlyReportState.cpp:110 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

MonthlyReportState.cpp:355 Low V807 Decreased performance. Consider creating a reference to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

MonthlyReportState.cpp:383 Low V807 Decreased performance. Consider creating a reference to avoid using the '(* k)->getFunding()' expression repeatedly.
Micro-optimizations

OpenXcom

MonthlyReportState.cpp:131 Low V815 Decreased performance. Consider replacing the expression 'm = ""' with 'm.clear()'.
Micro-optimizations

OpenXcom

NewPossibleResearchState.cpp:89 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

UfoDetectedState.cpp:146 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'ss.str()' expression repeatedly.
Micro-optimizations

OpenXcom

ArrowButton.cpp:338 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->button' expression repeatedly.
Micro-optimizations

OpenXcom

Cursor.cpp:55 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'action->getDetails()' expression repeatedly.
Micro-optimizations

OpenXcom

ScrollBar.cpp:191 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->button' expression repeatedly.
Micro-optimizations

OpenXcom

Text.cpp:606 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->button' expression repeatedly.
Micro-optimizations

OpenXcom

TextButton.cpp:284 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->button' expression repeatedly.
Micro-optimizations

OpenXcom

TextEdit.cpp:302 Low V821 Decreased performance. The 'newValue' variable can be constructed in a lower level scope.
Micro-optimizations

OpenXcom

Window.cpp:255 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_bg->getCrop()' expression repeatedly.
Micro-optimizations

OpenXcom

lodepng.cpp:911 High V829 Lifetime of the heap-allocated variable 'bitlen' is limited to the current function's scope. Consider allocating it on the stack instead.
Micro-optimizations

OpenXcom

lodepng.cpp:930 High V829 Lifetime of the heap-allocated variable 'bitlen' is limited to the current function's scope. Consider allocating it on the stack instead.
Micro-optimizations

OpenXcom

lodepng.cpp:2639 Low V809 Verifying that a pointer value is not NULL is not required. The 'if (info->palette)' check can be removed.
Micro-optimizations

OpenXcom

lodepng.cpp:4220 Low V809 Verifying that a pointer value is not NULL is not required. The 'if (color->palette)' check can be removed.
Micro-optimizations

OpenXcom

ListLoadOriginalState.cpp:197 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

ListSaveState.cpp:125 Low V815 Decreased performance. Consider replacing the expression '_selected = ""' with '_selected.clear()'.
Micro-optimizations

OpenXcom

LoadGameState.cpp:161 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getSavedGame()' expression repeatedly.
Micro-optimizations

OpenXcom

ModListState.cpp:103 Medium V820 The 'modId' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

ModListState.cpp:197 Medium V820 The 'masterId' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

ModListState.cpp:73 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

NewBattleState.cpp:192 High V827 Maximum size of the 'difficulty' vector is known at compile time. Consider pre-allocating it by calling difficulty.reserve(5)
Micro-optimizations

OpenXcom

NewBattleState.cpp:140 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

NewBattleState.cpp:394 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'base->getCrafts()' expression repeatedly.
Micro-optimizations

OpenXcom

NewBattleState.cpp:193 Medium V823 Decreased performance. Object may be created in-place in the 'difficulty' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

NewBattleState.cpp:194 Medium V823 Decreased performance. Object may be created in-place in the 'difficulty' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

NewBattleState.cpp:195 Medium V823 Decreased performance. Object may be created in-place in the 'difficulty' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

NewBattleState.cpp:196 Medium V823 Decreased performance. Object may be created in-place in the 'difficulty' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

NewBattleState.cpp:197 Medium V823 Decreased performance. Object may be created in-place in the 'difficulty' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

NewBattleState.cpp:387 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

NewBattleState.cpp:392 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'base->getSoldiers()' expression repeatedly.
Micro-optimizations

OpenXcom

NewBattleState.cpp:478 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

NewBattleState.cpp:666 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

OptionsAudioState.cpp:126 High V827 Maximum size of the 'musicText' vector is known at compile time. Consider pre-allocating it by calling musicText.reserve(9)
Micro-optimizations

OpenXcom

OptionsAudioState.cpp:126 High V827 Maximum size of the 'soundText' vector is known at compile time. Consider pre-allocating it by calling soundText.reserve(3)
Micro-optimizations

OpenXcom

OptionsAudioState.cpp:128 Medium V823 Decreased performance. Object may be created in-place in the 'musicText' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsAudioState.cpp:138 Medium V823 Decreased performance. Object may be created in-place in the 'soundText' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsAudioState.cpp:142 Medium V823 Decreased performance. Object may be created in-place in the 'videoText' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsAudioState.cpp:143 Medium V823 Decreased performance. Object may be created in-place in the 'videoText' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsAudioState.cpp:184 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()->getSoundDefinitions()' expression repeatedly.
Micro-optimizations

OpenXcom

OptionsBattlescapeState.cpp:99 High V827 Maximum size of the 'edgeScrolls' vector is known at compile time. Consider pre-allocating it by calling edgeScrolls.reserve(3)
Micro-optimizations

OpenXcom

OptionsBattlescapeState.cpp:113 High V827 Maximum size of the 'dragScrolls' vector is known at compile time. Consider pre-allocating it by calling dragScrolls.reserve(4)
Micro-optimizations

OpenXcom

OptionsBattlescapeState.cpp:100 Medium V823 Decreased performance. Object may be created in-place in the 'edgeScrolls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsBattlescapeState.cpp:101 Medium V823 Decreased performance. Object may be created in-place in the 'edgeScrolls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsBattlescapeState.cpp:102 Medium V823 Decreased performance. Object may be created in-place in the 'edgeScrolls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsBattlescapeState.cpp:114 Medium V823 Decreased performance. Object may be created in-place in the 'dragScrolls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsBattlescapeState.cpp:115 Medium V823 Decreased performance. Object may be created in-place in the 'dragScrolls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsBattlescapeState.cpp:116 Medium V823 Decreased performance. Object may be created in-place in the 'dragScrolls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsBattlescapeState.cpp:117 Medium V823 Decreased performance. Object may be created in-place in the 'dragScrolls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsControlsState.cpp:150 Medium V815 Decreased performance. Consider replacing the expression 'keyName = ""' with 'keyName.clear()'.
Micro-optimizations

OpenXcom

OptionsControlsState.cpp:189 Low V807 Decreased performance. Consider creating a reference to avoid using the 'action->getDetails()->button' expression repeatedly.
Micro-optimizations

OpenXcom

OptionsGeoscapeState.cpp:87 High V827 Maximum size of the 'dragScrolls' vector is known at compile time. Consider pre-allocating it by calling dragScrolls.reserve(4)
Micro-optimizations

OpenXcom

OptionsGeoscapeState.cpp:88 Medium V823 Decreased performance. Object may be created in-place in the 'dragScrolls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsGeoscapeState.cpp:89 Medium V823 Decreased performance. Object may be created in-place in the 'dragScrolls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsGeoscapeState.cpp:90 Medium V823 Decreased performance. Object may be created in-place in the 'dragScrolls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsGeoscapeState.cpp:91 Medium V823 Decreased performance. Object may be created in-place in the 'dragScrolls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:268 High V827 Maximum size of the 'displayModes' vector is known at compile time. Consider pre-allocating it by calling displayModes.reserve(4)
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:297 High V827 Maximum size of the 'scales' vector is known at compile time. Consider pre-allocating it by calling scales.reserve(6)
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:209 Medium V823 Decreased performance. Object may be created in-place in the 'filterNames' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:225 Medium V823 Decreased performance. Object may be created in-place in the 'filterNames' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:269 Medium V823 Decreased performance. Object may be created in-place in the 'displayModes' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:270 Medium V823 Decreased performance. Object may be created in-place in the 'displayModes' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:271 Medium V823 Decreased performance. Object may be created in-place in the 'displayModes' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:272 Medium V823 Decreased performance. Object may be created in-place in the 'displayModes' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:298 Medium V823 Decreased performance. Object may be created in-place in the 'scales' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:299 Medium V823 Decreased performance. Object may be created in-place in the 'scales' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:300 Medium V823 Decreased performance. Object may be created in-place in the 'scales' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:301 Medium V823 Decreased performance. Object may be created in-place in the 'scales' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:302 Medium V823 Decreased performance. Object may be created in-place in the 'scales' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

OptionsVideoState.cpp:303 Medium V823 Decreased performance. Object may be created in-place in the 'scales' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

StartState.cpp:65 Low V815 Decreased performance. Consider replacing the expression 'error = ""' with 'error.clear()'.
Micro-optimizations

OpenXcom

StatisticsState.cpp:169 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'save->getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

StatisticsState.cpp:173 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'save->getDeadSoldiers()' expression repeatedly.
Micro-optimizations

OpenXcom

TestState.cpp:99 Medium V823 Decreased performance. Object may be created in-place in the 'difficulty' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TestState.cpp:100 Medium V823 Decreased performance. Object may be created in-place in the 'difficulty' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TestState.cpp:101 Medium V823 Decreased performance. Object may be created in-place in the 'difficulty' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TestState.cpp:102 Medium V823 Decreased performance. Object may be created in-place in the 'difficulty' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

TestState.cpp:103 Medium V823 Decreased performance. Object may be created in-place in the 'difficulty' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

VideoState.cpp:513 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getScreen()' expression repeatedly.
Micro-optimizations

OpenXcom

VideoState.cpp:480 Low V809 Verifying that a pointer value is not NULL is not required. The 'if (flcPlayer)' check can be removed.
Micro-optimizations

OpenXcom

AlienDeployment.cpp:125 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

AlienRace.cpp:32 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Armor.cpp:63 Medium V823 Decreased performance. Object may be created in-place in the '_corpseBattle' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Armor.cpp:45 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

ExtraStrings.cpp:48 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'i->second' expression repeatedly.
Micro-optimizations

OpenXcom

MapBlock.cpp:39 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

MapData.cpp:41 High V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

MCDPatch.cpp:171 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'dataSet->getObject(i->first)' expression repeatedly.
Micro-optimizations

OpenXcom

MCDPatch.cpp:54 Medium V823 Decreased performance. Object may be created in-place in the '_bigWalls' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:59 Medium V823 Decreased performance. Object may be created in-place in the '_TUWalks' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:64 Medium V823 Decreased performance. Object may be created in-place in the '_TUFlys' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:69 Medium V823 Decreased performance. Object may be created in-place in the '_TUSlides' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:74 Medium V823 Decreased performance. Object may be created in-place in the '_deathTiles' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:79 Medium V823 Decreased performance. Object may be created in-place in the '_terrainHeight' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:84 Medium V823 Decreased performance. Object may be created in-place in the '_specialTypes' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:89 Medium V823 Decreased performance. Object may be created in-place in the '_explosives' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:94 Medium V823 Decreased performance. Object may be created in-place in the '_armors' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:99 Medium V823 Decreased performance. Object may be created in-place in the '_flammabilities' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:104 Medium V823 Decreased performance. Object may be created in-place in the '_fuels' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:109 Medium V823 Decreased performance. Object may be created in-place in the '_footstepSounds' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:114 Medium V823 Decreased performance. Object may be created in-place in the '_HEBlocks' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:119 Medium V823 Decreased performance. Object may be created in-place in the '_noFloors' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:124 Medium V823 Decreased performance. Object may be created in-place in the '_LOFTS' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:129 Medium V823 Decreased performance. Object may be created in-place in the '_stopLOSses' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:134 Medium V823 Decreased performance. Object may be created in-place in the '_objectTypes' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

MCDPatch.cpp:29 Medium V832 It's better to use '= default;' syntax instead of empty constructor body.
Micro-optimizations

OpenXcom

MCDPatch.cpp:36 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Mod.cpp:1676 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'base->getCrafts()' expression repeatedly.
Micro-optimizations

OpenXcom

Mod.cpp:1448 Medium V823 Decreased performance. Object may be created in-place in the '_extraSounds' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Mod.cpp:918 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

Mod.cpp:1650 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'save->getCountries()' expression repeatedly.
Micro-optimizations

OpenXcom

Mod.cpp:1736 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'transportCraft->getVehicles()' expression repeatedly.
Micro-optimizations

OpenXcom

Mod.cpp:1741 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* v)->getRules()->getCompatibleAmmo()' expression repeatedly.
Micro-optimizations

OpenXcom

Mod.cpp:2258 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'i->second' expression repeatedly.
Micro-optimizations

OpenXcom

Mod.cpp:3660 Low V809 Verifying that a pointer value is not NULL is not required. The 'if (music)' check can be removed.
Micro-optimizations

OpenXcom

RuleAlienMission.cpp:109 Medium V823 Decreased performance. Object may be created in-place in the 'assoc' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

RuleBaseFacility.cpp:37 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

RuleCommendations.cpp:35 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

RuleConverter.cpp:27 Medium V832 It's better to use '= default;' syntax instead of empty constructor body.
Micro-optimizations

OpenXcom

RuleConverter.cpp:34 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

RuleCountry.cpp:38 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

RuleCraftWeapon.cpp:36 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

RuleGlobe.cpp:37 Medium V832 It's better to use '= default;' syntax instead of empty constructor body.
Micro-optimizations

OpenXcom

RuleGlobe.cpp:241 Low V807 Decreased performance. Consider creating a reference to avoid using the 'i->second->getDeployments()' expression repeatedly.
Micro-optimizations

OpenXcom

RuleInterface.cpp:35 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

RuleInventory.cpp:60 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

RuleItem.cpp:44 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

RuleMissionScript.cpp:77 Medium V823 Decreased performance. Object may be created in-place in the '_missionWeights' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

RuleMissionScript.cpp:86 Medium V823 Decreased performance. Object may be created in-place in the '_raceWeights' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

RuleMissionScript.cpp:95 Medium V823 Decreased performance. Object may be created in-place in the '_regionWeights' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

RuleMusic.cpp:37 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

RuleRegion.cpp:173 Medium V807 Decreased performance. Consider creating a reference to avoid using the '_missionZones[zone].areas[a]' expression repeatedly.
Micro-optimizations

OpenXcom

RuleUfo.cpp:77 Low V809 Verifying that a pointer value is not NULL is not required. The 'if (_battlescapeTerrainData)' check can be removed.
Micro-optimizations

OpenXcom

RuleVideo.cpp:30 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

SoldierNamePool.cpp:38 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

SoundDefinition.cpp:28 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Texture.cpp:37 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Texture.h:77 High V826 Consider replacing the 'area' std::vector with std::array. The size is known at compile time.
Micro-optimizations

OpenXcom

Texture.h:77 High V827 Maximum size of the 'area' vector is known at compile time. Consider pre-allocating it by calling area.reserve(4)
Micro-optimizations

OpenXcom

Unit.cpp:74 Medium V823 Decreased performance. Object may be created in-place in the '_builtInWeapons' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

Unit.cpp:37 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

AlienMission.cpp:55 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

AlienMission.cpp:96 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'game.getAlienBases()' expression repeatedly.
Micro-optimizations

OpenXcom

AlienMission.cpp:282 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'game.getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

AlienMission.cpp:502 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'game.getBases()' expression repeatedly.
Micro-optimizations

OpenXcom

AlienMission.cpp:772 Low V807 Decreased performance. Consider creating a reference to avoid using the 'region.getMissionZones()' expression repeatedly.
Micro-optimizations

OpenXcom

AlienStrategy.cpp:63 Medium V823 Decreased performance. Object may be created in-place in the '_regionMissions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

AlienStrategy.cpp:88 Medium V823 Decreased performance. Object may be created in-place in the '_regionMissions' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

AlienStrategy.cpp:207 Medium V823 Decreased performance. Object may be created in-place in the '_missionLocations[varName]' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

AlienStrategy.cpp:34 Medium V832 It's better to use '= default;' syntax instead of empty constructor body.
Micro-optimizations

OpenXcom

AlienStrategy.cpp:136 Low V815 Decreased performance. Consider replacing the expression 'chosen != ""' with '!chosen.empty()'.
Micro-optimizations

OpenXcom

Base.cpp:173 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_items->getContents()' expression repeatedly.
Micro-optimizations

OpenXcom

Base.cpp:455 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

Base.cpp:1421 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_items->getContents()' expression repeatedly.
Micro-optimizations

OpenXcom

Base.cpp:1538 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

Base.cpp:1617 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* facility)->getCraft()->getItems()' expression repeatedly.
Micro-optimizations

OpenXcom

Base.cpp:1663 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* facility)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

Base.cpp:1496 Low V826 Consider replacing the 'disFacs' std::list with std::vector. Contiguous placement of elements in memory can be more efficient.
Micro-optimizations

OpenXcom

Base.cpp:1510 Low V826 Consider replacing the 'result' std::list with std::vector. Contiguous placement of elements in memory can be more efficient.
Micro-optimizations

OpenXcom

BaseFacility.cpp:38 High V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

BattleItem.cpp:58 High V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

BattleItem.cpp:247 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_previousOwner->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

BattleUnit.cpp:372 Medium V823 Decreased performance. Object may be created in-place in the '_recolor' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

BattleUnit.cpp:472 Medium V823 Decreased performance. Object may be created in-place in the '_recolor' container. Consider replacing methods: 'push_back' -> 'emplace_back'.
Micro-optimizations

OpenXcom

BattleUnit.cpp:64 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'soldier->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattleUnit.cpp:1509 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'item->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattleUnit.cpp:303 Low V809 Verifying that a pointer value is not NULL is not required. The 'if (_cache[i])' check can be removed.
Micro-optimizations

OpenXcom

BattleUnit.cpp:1815 Low V809 Verifying that a pointer value is not NULL is not required. The 'if (_currentAIState)' check can be removed.
Micro-optimizations

OpenXcom

BattleUnitStatistics.h:299 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

BattleUnitStatistics.h:426 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

BattleUnitStatistics.h:231 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'unit->getUnitRules()' expression repeatedly.
Micro-optimizations

OpenXcom

BattleUnitStatistics.h:195 Low V815 Decreased performance. Consider replacing the expression 'name = ""' with 'name.clear()'.
Micro-optimizations

OpenXcom

BattleUnitStatistics.h:196 Low V815 Decreased performance. Consider replacing the expression 'type = ""' with 'type.clear()'.
Micro-optimizations

OpenXcom

Country.cpp:44 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Craft.cpp:817 Medium V820 The 'item' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

Craft.cpp:882 Medium V820 The 'clip' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

Craft.cpp:122 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_items->getContents()' expression repeatedly.
Micro-optimizations

OpenXcom

Craft.cpp:1033 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_base->getStorageItems()' expression repeatedly.
Micro-optimizations

OpenXcom

Craft.cpp:1039 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* v)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftWeapon.cpp:42 High V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

CraftWeapon.cpp:157 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'this->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

CraftWeaponProjectile.cpp:28 High V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

EquipmentLayoutItem.cpp:49 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

GameTime.cpp:42 High V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

ItemContainer.cpp:29 Medium V832 It's better to use '= default;' syntax instead of empty constructor body.
Micro-optimizations

OpenXcom

ItemContainer.cpp:36 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

MissionStatistics.h:183 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

MovingTarget.cpp:267 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 't->getDestination()' expression repeatedly.
Micro-optimizations

OpenXcom

MovingTarget.cpp:92 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_dest->getFollowers()' expression repeatedly.
Micro-optimizations

OpenXcom

Node.cpp:48 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Production.h:32 Medium V802 On 32-bit platform, structure size can be reduced from 24 to 20 bytes by rearranging the fields according to their sizes in decreasing order.
Micro-optimizations

OpenXcom

Region.cpp:38 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

SaveConverter.cpp:280 Medium V807 Decreased performance. Consider creating a reference to avoid using the '_mod->getStartingTime()' expression repeatedly.
Micro-optimizations

OpenXcom

SaveConverter.cpp:148 Medium V820 The 'name' variable is not used after copying. Copying can be replaced with move/swap for optimization.
Micro-optimizations

OpenXcom

SaveConverter.cpp:108 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

SaveConverter.cpp:419 Low V807 Decreased performance. Consider creating a reference to avoid using the '_rules->getCountries()' expression repeatedly.
Micro-optimizations

OpenXcom

SaveConverter.cpp:448 Low V807 Decreased performance. Consider creating a reference to avoid using the '_rules->getCountries()' expression repeatedly.
Micro-optimizations

OpenXcom

SavedBattleGame.cpp:1027 Low V807 Decreased performance. Consider creating a pointer to avoid using the 't->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

SavedBattleGame.cpp:1062 Low V807 Decreased performance. Consider creating a pointer to avoid using the 't->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

SavedBattleGame.cpp:1073 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'b->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

SavedBattleGame.cpp:1124 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'unit->getInventory()' expression repeatedly.
Micro-optimizations

OpenXcom

SavedBattleGame.cpp:1306 Low V807 Decreased performance. Consider creating a pointer to avoid using the 'fromNode->getNodeLinks()' expression repeatedly.
Micro-optimizations

OpenXcom

SavedGame.cpp:1459 High V826 Consider replacing the 'matches' std::vector with std::list. Overall efficiency of operations will increase.
Micro-optimizations

OpenXcom

SavedGame.cpp:1017 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

SavedGame.cpp:1128 Medium V831 Decreased performance. Consider replacing the call to the 'at()' method with the 'operator[]'.
Micro-optimizations

OpenXcom

SavedGame.cpp:1986 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getSoldiers()' expression repeatedly.
Micro-optimizations

OpenXcom

Soldier.cpp:503 Medium V807 Decreased performance. Consider creating a reference to avoid using the '_rules->getMaxStats()' expression repeatedly.
Micro-optimizations

OpenXcom

SoldierDiary.cpp:1233 Medium V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

Tile.cpp:799 Low V807 Decreased performance. Consider creating a pointer to avoid using the '(* i)->getRules()' expression repeatedly.
Micro-optimizations

OpenXcom

Tile.cpp:828 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_unit->getArmor()' expression repeatedly.
Micro-optimizations

OpenXcom

Ufo.cpp:147 Low V807 Decreased performance. Consider creating a reference to avoid using the 'game.getAlienMissions()' expression repeatedly.
Micro-optimizations

OpenXcom

Vehicle.cpp:38 High V832 It's better to use '= default;' syntax instead of empty destructor body.
Micro-optimizations

OpenXcom

WeightedOptions.cpp:75 Medium V823 Decreased performance. Object may be created in-place in the '_choices' container. Consider replacing methods: 'insert' -> 'emplace'.
Micro-optimizations

OpenXcom

ArticleStateArmor.cpp:117 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'armor->getStats()' expression repeatedly.
Micro-optimizations

OpenXcom

ArticleStateArmor.cpp:42 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

ArticleStateBaseFacility.cpp:129 Medium V807 Decreased performance. Consider creating a reference to avoid using the 'ss.str()' expression repeatedly.
Micro-optimizations

OpenXcom

ArticleStateBaseFacility.cpp:40 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

ArticleStateItem.cpp:41 Low V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

ArticleStateTFTDArmor.cpp:75 Medium V807 Decreased performance. Consider creating a pointer to avoid using the 'armor->getStats()' expression repeatedly.
Micro-optimizations

OpenXcom

ArticleStateTFTDVehicle.cpp:39 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

ArticleStateUfo.cpp:40 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.
Micro-optimizations

OpenXcom

ArticleStateUfo.cpp:80 Low V807 Decreased performance. Consider creating a pointer to avoid using the same expression repeatedly.
Micro-optimizations

OpenXcom

ArticleStateVehicle.cpp:40 Medium V807 Decreased performance. Consider creating a pointer to avoid using the '_game->getMod()' expression repeatedly.