00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef SST_CORE_SERIALIZATION_CORE_H
00013 #define SST_CORE_SERIALIZATION_CORE_H
00014
00015 #if defined(SST_CORE_SERIALIZATION_ELEMENT_H) || defined(SST_CORE_SERIALIZATION_ARCHIVE_H)
00016 #error "Include only one serialization/ header file"
00017 #endif
00018
00019 #if SST_WANT_POLYMORPHIC_ARCHIVE
00020 #include <boost/archive/polymorphic_iarchive.hpp>
00021 #include <boost/archive/polymorphic_oarchive.hpp>
00022 #else
00023 #include <boost/archive/binary_iarchive.hpp>
00024 #include <boost/archive/binary_oarchive.hpp>
00025 #endif
00026
00027 #include <boost/serialization/base_object.hpp>
00028 #include <boost/serialization/export.hpp>
00029 #include <boost/serialization/nvp.hpp>
00030 #include <boost/serialization/split_member.hpp>
00031 #include <boost/mpi.hpp>
00032
00033 #include "sst/core/serialization/types.h"
00034
00035 #if SST_WANT_POLYMORPHIC_ARCHIVE
00036 #define SST_BOOST_SERIALIZATION_INSTANTIATE(func) \
00037 template void \
00038 func<boost::archive::polymorphic_iarchive>( \
00039 boost::archive::polymorphic_iarchive & ar, \
00040 const unsigned int file_version); \
00041 template void \
00042 func<boost::archive::polymorphic_oarchive>( \
00043 boost::archive::polymorphic_oarchive & ar, \
00044 const unsigned int file_version);
00045 #else
00046 #define SST_BOOST_SERIALIZATION_INSTANTIATE(func) \
00047 template void \
00048 func<boost::archive::binary_iarchive>( \
00049 boost::archive::binary_iarchive & ar, \
00050 const unsigned int file_version); \
00051 template void \
00052 func<boost::archive::binary_oarchive>( \
00053 boost::archive::binary_oarchive & ar, \
00054 const unsigned int file_version);
00055 #endif
00056
00057 #endif // #ifndef SST_CORE_SERIALIZATION_CORE_H