diff --git a/services/backup/docker-server/contents/server/src/DatabaseEntities/DatabaseEntitiesTools.h b/services/backup/docker-server/contents/server/src/DatabaseEntities/DatabaseEntitiesTools.h new file mode 100644 --- /dev/null +++ b/services/backup/docker-server/contents/server/src/DatabaseEntities/DatabaseEntitiesTools.h @@ -0,0 +1,19 @@ +#pragma once + +#include "Item.h" + +#include <memory> +#include <type_traits> + +namespace comm { +namespace network { +namespace database { + +template <typename T> std::shared_ptr<T> createItemByType() { + static_assert(std::is_base_of<Item, T>::value, "T must inherit from Item"); + return std::make_shared<T>(); +} + +} // namespace database +} // namespace network +} // namespace comm