#include "ngcore.hpp" #ifndef WIN #include #endif namespace ngcore { static std::map library_versions; std::map& Archive :: GetLibraryVersions() { return library_versions; } VersionInfo GetLibraryVersion(const std::string& library) { return library_versions[library]; } void SetLibraryVersion(const std::string& library, VersionInfo version) { library_versions[library] = version; } #ifdef WIN // windows does demangling in typeid(T).name() std::string demangle(const char* typeinfo) { return typeinfo; } #else std::string demangle(const char* typeinfo) { int status; return abi::__cxa_demangle(typeinfo, 0, 0, &status); } #endif std::map& GetArchiveRegister() { static std::map type_register; return type_register; } }