24 return MetadataRegistry;
32 void Register(std::string_view InClassName,
const T* ObjectPtr)
36 std::printf(
"[MetadataRegistry] Registering class: \"%s\", TypeID=\"%s\" Derived=\"%s\"\n",
37 InClassName.data(),
typeid(ObjectPtr).name(),
typeid(*ObjectPtr).name());
38 if (StaticClassRegistry.find(InClassName.data()) == StaticClassRegistry.end())
40 StaticClassRegistry[InClassName.data()] = {};
45 std::printf(
"[MetadataRegistry] [ERROR] Failed to register: \"%s\"\n", InClassName.data());
50 void RegisterObject(std::string_view ObjectVariableName,
const T& ObjectToRegister);
52 FORCEINLINE
int GetClassRegistrySize()
const
54 return static_cast<int>(StaticClassRegistry.size());
57 FORCEINLINE
const std::unordered_map<std::string, FClassMetadata>& GetStaticClassRegistry()
const
59 return StaticClassRegistry;
62 FORCEINLINE
const std::unordered_map<std::string, std::pair<std::string, std::time_t>>& GetLiveCollection()
const
64 return LiveCollection;
71 std::unordered_map<std::string, FClassMetadata> StaticClassRegistry{};
72 std::unordered_map<std::string, std::pair<std::string, std::time_t>> LiveCollection{};