reduced the amount of new in reclists

actorid
Marc Zinnschlag 15 years ago
parent 8565f5ea8f
commit d0b67cb567

@ -21,24 +21,14 @@ namespace ESMS
template <typename X>
struct RecListT : RecList
{
typedef std::map<std::string,X*> MapType;
typedef std::map<std::string,X> MapType;
MapType list;
// Load one object of this type
void load(ESMReader &esm, const std::string &id)
{
X *ref;
if(list.find(id) == list.end())
{
ref = new X;
list[id] = ref;
}
else
ref = list[id];
ref->load(esm);
list[id].load(esm);
}
// Find the given object ID, or return NULL if not found.
@ -46,7 +36,7 @@ namespace ESMS
{
if(list.find(id) == list.end())
return NULL;
return list.find(id)->second;
return &list.find(id)->second;
}
int getSize() { return list.size(); }
@ -58,24 +48,16 @@ namespace ESMS
template <typename X>
struct RecIDListT : RecList
{
typedef std::map<std::string,X*> MapType;
typedef std::map<std::string,X> MapType;
MapType list;
void load(ESMReader &esm, const std::string &id)
{
X *ref;
if(list.find(id) == list.end())
{
ref = new X;
list[id] = ref;
}
else
ref = list[id];
X& ref = list[id];
ref->id = id;
ref->load(esm);
ref.id = id;
ref.load(esm);
}
int getSize() { return list.size(); }

Loading…
Cancel
Save