#pragma once #include "ecsmemorypool_global.h" #include #include #include #include template concept CompenentType = requires(T t, const QJsonObject &in, QJsonObject out){ { T::typeCode() } -> std::same_as; { T::typeSize() } -> std::same_as; { t.loadFrom(in) } -> std::same_as; { t.saveTo(out) } -> std::same_as; }; class ECSMEMORYPOOL_EXPORT ECSMemoryPool{ private: QList> _storage_pages; public: ECSMemoryPool(); template void registerComponent() { } };