13#ifndef ML_RUNTIME_DICT_H
14#define ML_RUNTIME_DICT_H
26#include <unordered_map>
30ML_UTILS_START_NAMESPACE
95 bool onlyFromDifferentDlls =
false);
105 std::unordered_map<std::string, const RuntimeType*> _dict;
108ML_UTILS_END_NAMESPACE
void * createInstanceFromName(const char *className) const
void destroyRuntimeTypesOfDll(const char *dllName)
std::vector< const RuntimeType * > getAllTypes()
Returns all registered types.
bool insert(const RuntimeType *runtimeType)
std::vector< const RuntimeType * > getAllDerivedFrom(const RuntimeType *parentType, bool onlyFromDifferentDlls=false)
RuntimeDict()
Creates a new dictionary.
void clear()
Clears all dictionary entries and stored runtime types.
bool remove(const char *className)
~RuntimeDict()
Destructor. Removes the dictionary and all stored runtime types.
const RuntimeType * get(const char *className) const
std::vector< const RuntimeType * > getAllRuntimeTypesOfDll(const char *dllName)