| | |
| | |
| | |
| |
|
| | #pragma once |
| |
|
| | #include <boost/serialization/serialization.hpp> |
| |
|
| | |
| | |
| | |
| | class construct_access { |
| | public: |
| | template <class Archive, class T> |
| | static void save_construct(Archive& ar, const T* t, const unsigned int file_version) { |
| | t->save_construct(ar, file_version); |
| | } |
| | template <class Archive, class T> |
| | static void load_construct(Archive& ar, T* t, const unsigned int file_version) { |
| | T::load_construct(ar, t, file_version); |
| | } |
| | }; |
| |
|
| | #define BOOST_SERIALIZATION_CONSTRUCT(T) \ |
| | namespace boost::serialization { \ |
| | template <class Archive> \ |
| | void save_construct_data(Archive& ar, const T* t, const unsigned int file_version) { \ |
| | construct_access::save_construct(ar, t, file_version); \ |
| | } \ |
| | template <class Archive> \ |
| | void load_construct_data(Archive& ar, T* t, const unsigned int file_version) { \ |
| | construct_access::load_construct(ar, t, file_version); \ |
| | } \ |
| | } |
| |
|