30 void registerFactory(std::string_view _category, std::string_view _type,
Delegate::IDelegate* _delegate);
32 void unregisterFactory(std::string_view _category, std::string_view _type);
34 void unregisterFactory(std::string_view _category);
37 bool isFactoryExist(std::string_view _category, std::string_view _type);
40 template<
typename Type>
47 template<
typename Type>
54 template<
typename Type>
57 unregisterFactory(_category, Type::getClassTypeName());
61 IObject* createObject(std::string_view _category, std::string_view _type);
63 template<
typename Type>
66 IObject* item = createObject(_category, Type::getClassTypeName());
73 void destroyObject(
IObject* _object);
76 using MapFactoryItem = std::map<std::string, Delegate, std::less<>>;
77 using MapRegisterFactoryItem = std::map<std::string, MapFactoryItem, std::less<>>;
78 MapRegisterFactoryItem mRegisterFactoryItems;
80 bool mIsInitialise{
false};