#pragma once #include #include #include #include #if defined (_WINDLL) #define DECLSPECIFIER __declspec(dllexport) #elif defined(MSC_VER) #define DECLSPECIFIER __declspec(dllimport) #else #define DECLSPECIFIER #endif int doit(); class VersionTest { public: int x; template void serialize( Archive & ar, const std::uint32_t /* version */ ) { ar( x ); } }; class Base { public: friend class cereal::access; template < class Archive > void serialize(Archive &, std::uint32_t const) {} virtual ~Base() {} }; extern template DECLSPECIFIER void Base::serialize ( cereal::XMLInputArchive & ar, std::uint32_t const version ); extern template DECLSPECIFIER void Base::serialize ( cereal::XMLOutputArchive & ar, std::uint32_t const version ); CEREAL_CLASS_VERSION(VersionTest, 1)