#pragma once #include #include #include #include #include #include class ElementRegistry { public: template void Register(const std::string& tag) { static_assert(std::is_base_of::value, "T must derive from Rml::Element"); auto instancer = std::make_unique>(); Rml::Factory::RegisterElementInstancer(tag, instancer.get()); instancers.push_back(std::move(instancer)); } private: std::vector> instancers; };