MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / ~Base

Method ~Base

src/Savegame/Base.cpp:62–96  ·  view source on GitHub ↗

* Deletes the contents of the base from memory. */

Source from the content-addressed store, hash-verified

60 * Deletes the contents of the base from memory.
61 */
62Base::~Base()
63{
64 for (std::vector<BaseFacility*>::iterator i = _facilities.begin(); i != _facilities.end(); ++i)
65 {
66 delete *i;
67 }
68 for (std::vector<Soldier*>::iterator i = _soldiers.begin(); i != _soldiers.end(); ++i)
69 {
70 delete *i;
71 }
72 for (std::vector<Craft*>::iterator i = _crafts.begin(); i != _crafts.end(); ++i)
73 {
74 for (std::vector<Vehicle*>::iterator j = (*i)->getVehicles()->begin(); j != (*i)->getVehicles()->end(); ++j)
75 for (std::vector<Vehicle*>::iterator k = _vehicles.begin(); k != _vehicles.end(); ++k)
76 if ((*k)==(*j)) { _vehicles.erase(k); break; } // to avoid calling a vehicle's destructor twice
77 delete *i;
78 }
79 for (std::vector<Transfer*>::iterator i = _transfers.begin(); i != _transfers.end(); ++i)
80 {
81 delete *i;
82 }
83 for (std::vector<Production *>::iterator i = _productions.begin (); i != _productions.end (); ++i)
84 {
85 delete *i;
86 }
87 delete _items;
88 for (std::vector<ResearchProject*>::iterator i = _research.begin(); i != _research.end(); ++i)
89 {
90 delete *i;
91 }
92 for (std::vector<Vehicle*>::iterator i = _vehicles.begin(); i != _vehicles.end(); ++i)
93 {
94 delete *i;
95 }
96}
97
98/**
99 * Loads the base from a YAML file.

Callers

nothing calls this directly

Calls 1

getVehiclesMethod · 0.45

Tested by

no test coverage detected