/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/Tools/Libs/ToolsFoundation/Factory/Implementation/RttiMappedObjectFactory_inl.h
44 строки
1 KB
Ingrater
clang-tidy use modernize-use-equals-default check (#951)
21 май 2023, 11:31
Не верифицирован
21 май 2023, 11:31
345d6ff
Код
Авторство
О чём код?
template <typename Object> ezRttiMappedObjectFactory<Object>::ezRttiMappedObjectFactory() = default; template <typename Object> ezRttiMappedObjectFactory<Object>::~ezRttiMappedObjectFactory() = default; template <typename Object> void ezRttiMappedObjectFactory<Object>::RegisterCreator(const ezRTTI* pType, CreateObjectFunc creator) { EZ_ASSERT_DEV(!m_Creators.Contains(pType), "Type already registered."); m_Creators.Insert(pType, creator); Event e; e.m_Type = Event::Type::CreatorAdded; e.m_pRttiType = pType; m_Events.Broadcast(e); } template <typename Object> void ezRttiMappedObjectFactory<Object>::UnregisterCreator(const ezRTTI* pType) { EZ_ASSERT_DEV(m_Creators.Contains(pType), "Type was never registered."); m_Creators.Remove(pType); Event e; e.m_Type = Event::Type::CreatorRemoved; e.m_pRttiType = pType; m_Events.Broadcast(e); } template <typename Object> Object* ezRttiMappedObjectFactory<Object>::CreateObject(const ezRTTI* pType) { CreateObjectFunc* creator = nullptr; while (pType != nullptr) { if (m_Creators.TryGetValue(pType, creator)) { return (*creator)(pType); } pType = pType->GetParentType(); } return nullptr; }