1 // =================================
 2 // Copyright (c) 2021 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #ifndef CMAJOR_RT_CLASSES_INCLUDED
 7 #define CMAJOR_RT_CLASSES_INCLUDED
 8 #include <boost/multiprecision/cpp_int.hpp>
 9 #include <boost/uuid/uuid.hpp>
10 
11 namespace cmajor { namespace rt {
12 
13 void InitClasses(int64_t numberOfPolymorphicClassIdsconst uint64_t* polymorphicClassIdArrayint64_t numberOfStaticClassIdsconst uint64_t* staticClassIdArray);
14 void DoneClasses();
15 bool DynamicInitVmtsAndCompare(void* vmt1void* vmt2);
16 boost::multiprecision::uint128_t GetClassId(const boost::uuids::uuid& typeId);
17 
18 } } // namespace cmajor::rt
19 
20 #endif // CMAJOR_RT_CLASSES_INCLUDED