#include <src/Ext/_Container.hpp>
List of all members.
template<typename T>
class Container< T >
Member Typedef Documentation
Constructor & Destructor Documentation
Member Function Documentation
{
for(typename C_Map::iterator i = this->begin(); i != this->end(); ) {
delete i->second;
erase(i++);
}
}
{
typename C_Map::iterator i = this->find(key);
if(i == this->end()) {
return NULL;
}
return i->second;
}
{
if(key == NULL) {
const std::type_info &info = typeid(*this);
Debug::Log("CTOR of %s attempted for a NULL pointer! WTF!\n", info.name());
return NULL;
}
typename C_Map::iterator i = this->find(key);
if(i == this->end()) {
E_T * val = new E_T( E_T::Canary, key);
val->InitializeConstants(key);
i = this->insert(typename C_Map::value_type(key, val)).first;
}
return i->second;
}
template<typename T>
void Container< T >::InvalidateExtDataPointer |
( |
void * |
ptr | ) |
[inline, protected] |
{
for(typename C_Map::iterator i = this->begin(); i != this->end(); ++i) {
i->second->InvalidatePointer(ptr);
}
}
template<typename T>
virtual void Container< T >::InvalidatePointer |
( |
void * |
ptr | ) |
[inline, protected, virtual] |
template<typename T>
void Container< T >::Load |
( |
S_T * |
key, |
|
|
IStream * |
pStm |
|
) |
| [inline] |
template<typename T>
void Container< T >::LoadAllFromINI |
( |
CCINIClass * |
pINI | ) |
[inline] |
{
for(typename C_Map::iterator i = this->begin(); i != this->end(); i++) {
i->second->LoadFromINI(i->first, pINI);
}
}
template<typename T>
void Container< T >::LoadAllFromRules |
( |
CCINIClass * |
pINI | ) |
[inline] |
{
for(typename C_Map::iterator i = this->begin(); i != this->end(); i++) {
i->second->LoadFromRulesFile(i->first, pINI);
}
}
template<typename T>
void Container< T >::LoadFromINI |
( |
S_T * |
key, |
|
|
CCINIClass * |
pINI |
|
) |
| [inline] |
{
typename C_Map::iterator i = this->find(key);
if(i != this->end()) {
i->second->LoadFromINI(key, pINI);
}
}
{
ULONG out;
const std::type_info &info = typeid(key);
Debug::Log("Loading Key [%s] (%X)\n", info.name(), key);
if(key == NULL) {
Debug::Log("Load attempted for a NULL pointer! WTF!\n");
return NULL;
}
E_T* buffer = this->FindOrAllocate(key);
long origPtr;
pStm->Read(&origPtr, 4, &out);
pStm->Read(buffer, buffer->Size(), &out);
Debug::Log("LoadKey Swizzle: %X => %X\n", origPtr, buffer);
SwizzleManagerClass::Instance.Here_I_Am(origPtr, (void *)buffer);
SWIZZLE(buffer->AttachedToObject);
#ifdef DEBUGBUILD
assert(buffer->SavedCanary == typename E_T::Canary);
#endif
return buffer;
};
template<typename T>
void Container< T >::PointerGotInvalid |
( |
void * |
ptr | ) |
[inline] |
template<typename T>
void Container< T >::Remove |
( |
typename C_Map::iterator |
i | ) |
[inline] |
{
if(i != this->end()) {
delete i->second;
erase(i);
}
}
{
typename C_Map::iterator i = this->find(key);
if(i != this->end()) {
delete i->second;
erase(i);
}
}
template<typename T>
void Container< T >::Save |
( |
S_T * |
key, |
|
|
IStream * |
pStm |
|
) |
| [inline] |
{
ULONG out;
const std::type_info &info = typeid(key);
Debug::Log("Saving Key [%s] (%X)\n", info.name(), key);
if(key == NULL) {
return NULL;
}
E_T* buffer = this->Find(key);
Debug::Log("\tKey maps to %X\n", buffer);
if(buffer) {
pStm->Write(&buffer, 4, &out);
pStm->Write(buffer, buffer->Size(), &out);
}
Debug::Log("\n\n");
return buffer;
};
Member Data Documentation
The documentation for this class was generated from the following file: