2
0
mirror of https://github.com/boostorg/mpi.git synced 2026-02-25 16:32:22 +00:00

Adapted Boost.MPI to new array optimization in serialization

[SVN r46387]
This commit is contained in:
Matthias Troyer
2008-06-14 12:10:46 +00:00
parent dd5f08605f
commit 76ef3a52b7
8 changed files with 13 additions and 9 deletions

View File

@@ -61,5 +61,5 @@ const content get_content(const T& x)
// required by export
BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::mpi::detail::content_oarchive)
BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::mpi::detail::ignore_skeleton_oarchive<boost::mpi::detail::content_oarchive>)
BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::mpi::detail::content_oarchive)
#endif // BOOST_MPI_DETAIL_CONTENT_OARCHIVE_HPP

View File

@@ -14,22 +14,21 @@
#include <boost/archive/detail/auto_link_archive.hpp>
#include <boost/archive/detail/oserializer.hpp>
#include <boost/archive/detail/interface_oarchive.hpp>
#include <boost/archive/array/oarchive.hpp>
#include <boost/archive/detail/common_oarchive.hpp>
#include <boost/serialization/collection_size_type.hpp>
#include <boost/archive/array/oarchive.hpp>
namespace boost { namespace mpi { namespace detail {
template<class Archive, class ImplementationArchive>
class forward_skeleton_oarchive
: public archive::array::oarchive<Archive>
: public archive::detail::common_oarchive<Archive>
{
public:
typedef ImplementationArchive implementation_archive_type;
forward_skeleton_oarchive(implementation_archive_type& ar)
: archive::array::oarchive<Archive>(archive::no_header),
: archive::detail::common_oarchive<Archive>(archive::no_header),
implementation_archive(ar)
{
}

View File

@@ -12,7 +12,7 @@
#include <boost/pfto.hpp>
#include <boost/archive/detail/auto_link_archive.hpp>
#include <boost/archive/array/oarchive.hpp>
#include <boost/archive/detail/common_oarchive.hpp>
#include <boost/archive/basic_archive.hpp>
#include <boost/archive/detail/oserializer.hpp>
#include <boost/serialization/collection_size_type.hpp>
@@ -21,12 +21,12 @@ namespace boost { namespace mpi { namespace detail {
template<class Archive>
class ignore_skeleton_oarchive
: public archive::array::oarchive<Archive>
: public archive::detail::common_oarchive<Archive>
{
public:
ignore_skeleton_oarchive()
: archive::array::oarchive<Archive>(archive::no_header)
: archive::detail::common_oarchive<Archive>(archive::no_header)
{
}

View File

@@ -43,5 +43,6 @@ public:
// required by export
BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::mpi::detail::mpi_datatype_oarchive)
BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::mpi::detail::ignore_skeleton_oarchive<boost::mpi::detail::mpi_datatype_oarchive>)
BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::mpi::detail::mpi_datatype_oarchive)
#endif // BOOST_MPI_DETAIL_MPI_DATATYPE_OARCHIVE_HPP

View File

@@ -13,7 +13,6 @@
#include <boost/archive/text_oarchive.hpp>
#include <boost/mpi/detail/forward_skeleton_oarchive.hpp>
#include <boost/mpi/detail/ignore_oprimitive.hpp>
#include <boost/archive/array/oarchive.hpp>
namespace boost { namespace mpi {

View File

@@ -125,5 +125,6 @@ private:
BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(boost::mpi::packed_iarchive)
BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::mpi::packed_iarchive)
BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::mpi::packed_iarchive)
#endif // BOOST_MPI_PACKED_IARCHIVE_HPP

View File

@@ -113,6 +113,7 @@ private:
// required by export
BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::mpi::packed_oarchive)
BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::mpi::packed_oarchive)

View File

@@ -385,4 +385,7 @@ BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::mpi::packed_skeleton_iarchive)
BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::mpi::detail::type1)
BOOST_SERIALIZATION_REGISTER_ARCHIVE(boost::mpi::detail::type2)
BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::mpi::packed_skeleton_oarchive)
BOOST_SERIALIZATION_USE_ARRAY_OPTIMIZATION(boost::mpi::packed_skeleton_iarchive)
#endif // BOOST_MPI_SKELETON_AND_CONTENT_HPP