32 #ifndef SHARK_CORE_ISERIALIZABLE_H 33 #define SHARK_CORE_ISERIALIZABLE_H 35 #include <boost/version.hpp> 36 #include <boost/serialization/split_member.hpp> 37 #include <boost/serialization/tracking.hpp> 39 #if (BOOST_VERSION >= 105600) && (BOOST_VERSION <= 105800) 40 #define USE_SERIALIZATION_WORKAROUND 43 #ifdef USE_SERIALIZATION_WORKAROUND 44 #include <boost/archive/text_iarchive.hpp> 45 #include <boost/archive/text_oarchive.hpp> 47 #include <boost/archive/polymorphic_iarchive.hpp> 48 #include <boost/archive/polymorphic_oarchive.hpp> 49 #include <boost/archive/polymorphic_text_iarchive.hpp> 50 #include <boost/archive/polymorphic_text_oarchive.hpp> 56 #ifdef USE_SERIALIZATION_WORKAROUND 61 typedef boost::archive::text_iarchive
InArchive;
68 typedef boost::archive::text_oarchive
OutArchive;
74 typedef boost::archive::polymorphic_iarchive
InArchive;
102 virtual void read( InArchive & archive )
109 virtual void write( OutArchive & archive )
const 115 void load(InArchive & archive,
unsigned int version)
124 void save(OutArchive & archive,
unsigned int version)
const 136 namespace serialization {
138 template<
typename T >
139 struct tracking_level<
std::vector<T> > {
140 typedef mpl::integral_c_tag
tag;
141 BOOST_STATIC_CONSTANT(
int, value = track_always );
147 #endif // SHARK_CORE_ISERIALIZABLE_H