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;
136namespace serialization {
138template<
typename T >
139struct tracking_level< std::vector<T> > {
140 typedef mpl::integral_c_tag
tag;