Added reflection memory cleanup

This commit is contained in:
Vulpovile
2023-11-04 00:28:41 -07:00
parent 26398f0586
commit c0aab09960
6 changed files with 34 additions and 4 deletions

View File

@@ -14,9 +14,23 @@ ReflectionDataTable::ReflectionDataTable(void)
ReflectionDataTable::~ReflectionDataTable(void)
{
std::map<std::string, ReflectionProperty<void*>*>::iterator it;
for (it = propertyTable.begin(); it != propertyTable.end(); it++)
{
it->second->dispose();
}
}
std::string ReflectionDataTable::getClassName(void)
{
return className;
}
void ReflectionDataTable::mapProperty(std::string key, ReflectionProperty<void*>* prop)
{
if(propertyTable.find(key) != propertyTable.end())
{
throw std::string("Reflection error: Key") + key + std::string("already defined!");
}
propertyTable[key] = prop;
}