added cell list cleanup

This commit is contained in:
Marc Zinnschlag 2010-06-07 16:38:52 +02:00
parent d0b67cb567
commit 086aacf1ff
2 changed files with 17 additions and 6 deletions

View file

@ -77,9 +77,25 @@ namespace ESMS
IntCells intCells;
// List of exterior cells. Indexed as extCells[gridX][gridY].
typedef std::map<int, std::map<int, Cell*> > ExtCells;
typedef std::map<int, Cell*> ExtCellsCol;
typedef std::map<int, ExtCellsCol> ExtCells;
ExtCells extCells;
~CellList()
{
for (IntCells::iterator it = intCells.begin(); it!=intCells.end(); ++it)
delete it->second;
for (ExtCells::iterator it = extCells.begin(); it!=extCells.end(); ++it)
{
ExtCellsCol& col = it->second;
for (ExtCellsCol::iterator it = col.begin(); it!=col.end(); ++it)
{
delete it->second;
}
}
}
const Cell* findInt(const std::string &id) const
{
IntCells::const_iterator it = intCells.find(id);

View file

@ -11,11 +11,6 @@
you can replace the storage method later without touching the
loading code. Cutting down dependencies also help on the general
maintainability.
TODO FIXME: Cleanup. The RecLists store pointers to new'd objects,
but these are never deleted anywhere. Right now this data is
persistant through the application lifetime so it doesn't matter,
but fix it later.
*/
#include "esm/records.hpp"