|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r63537 - in trunk/boost/mpi: . detail
From: troyer_at_[hidden]
Date: 2010-07-02 23:20:15
Author: troyer
Date: 2010-07-02 23:20:14 EDT (Fri, 02 Jul 2010)
New Revision: 63537
URL: http://svn.boost.org/trac/boost/changeset/63537
Log:
Fixed Boost.MPI following breaking changes in Boost.Serialization
Text files modified:
trunk/boost/mpi/datatype.hpp | 20 ++++++++++++++++++++
trunk/boost/mpi/detail/ignore_iprimitive.hpp | 7 -------
trunk/boost/mpi/detail/ignore_skeleton_oarchive.hpp | 3 +++
3 files changed, 23 insertions(+), 7 deletions(-)
Modified: trunk/boost/mpi/datatype.hpp
==============================================================================
--- trunk/boost/mpi/datatype.hpp (original)
+++ trunk/boost/mpi/datatype.hpp 2010-07-02 23:20:14 EDT (Fri, 02 Jul 2010)
@@ -26,6 +26,8 @@
#include <boost/mpl/and.hpp>
#include <boost/mpi/detail/mpi_datatype_cache.hpp>
#include <boost/mpl/assert.hpp>
+#include <boost/archive/basic_archive.hpp>
+#include <boost/serialization/item_version_type.hpp>
#include <utility> // for std::pair
namespace boost { namespace mpi {
@@ -298,6 +300,7 @@
BOOST_MPI_DATATYPE(signed char, MPI_SIGNED_CHAR, builtin);
#endif
+
#endif // Doxygen
namespace detail {
@@ -325,6 +328,23 @@
: boost::mpl::bool_<true>
{};
+
+#ifndef BOOST_MPI_DOXYGEN
+// direct support for special primitive data types of the serialization library
+BOOST_MPI_DATATYPE(boost::archive::library_version_type, get_mpi_datatype(uint_least16_t()), integer);
+BOOST_MPI_DATATYPE(boost::archive::version_type, get_mpi_datatype(uint_least8_t()), integer);
+BOOST_MPI_DATATYPE(boost::archive::class_id_type, get_mpi_datatype(int_least16_t()), integer);
+BOOST_MPI_DATATYPE(boost::archive::class_id_reference_type, get_mpi_datatype(int_least16_t()), integer);
+BOOST_MPI_DATATYPE(boost::archive::class_id_optional_type, get_mpi_datatype(int_least16_t()), integer);
+BOOST_MPI_DATATYPE(boost::archive::object_id_type, get_mpi_datatype(uint_least32_t()), integer);
+BOOST_MPI_DATATYPE(boost::archive::object_reference_type, get_mpi_datatype(uint_least32_t()), integer);
+BOOST_MPI_DATATYPE(boost::archive::tracking_type, get_mpi_datatype(bool()), builtin);
+BOOST_MPI_DATATYPE(boost::serialization::collection_size_type, get_mpi_datatype(std::size_t()), builtin);
+BOOST_MPI_DATATYPE(boost::serialization::item_version_type, get_mpi_datatype(uint_least8_t()), builtin);
+
+#endif // Doxygen
+
+
} } // end namespace boost::mpi
// define a macro to make explicit designation of this more transparent
Modified: trunk/boost/mpi/detail/ignore_iprimitive.hpp
==============================================================================
--- trunk/boost/mpi/detail/ignore_iprimitive.hpp (original)
+++ trunk/boost/mpi/detail/ignore_iprimitive.hpp 2010-07-02 23:20:14 EDT (Fri, 02 Jul 2010)
@@ -42,13 +42,6 @@
typedef is_mpi_datatype<mpl::_1> use_array_optimization;
-#ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
- friend class archive::load_access;
-protected:
-#else
-public:
-#endif
-
/// don't do anything when loading primitive types
template<class T>
void load(T & t)
Modified: trunk/boost/mpi/detail/ignore_skeleton_oarchive.hpp
==============================================================================
--- trunk/boost/mpi/detail/ignore_skeleton_oarchive.hpp (original)
+++ trunk/boost/mpi/detail/ignore_skeleton_oarchive.hpp 2010-07-02 23:20:14 EDT (Fri, 02 Jul 2010)
@@ -17,6 +17,7 @@
#include <boost/archive/detail/oserializer.hpp>
#include <boost/serialization/collection_size_type.hpp>
#include <boost/serialization/array.hpp>
+#include <boost/serialization/item_version_type.hpp>
namespace boost { namespace mpi { namespace detail {
@@ -53,6 +54,7 @@
BOOST_ARCHIVE_IGNORE_IMPLEMENTATION(archive::class_id_optional_type)
BOOST_ARCHIVE_IGNORE_IMPLEMENTATION(archive::version_type)
+BOOST_ARCHIVE_IGNORE_IMPLEMENTATION(archive::library_version_type)
BOOST_ARCHIVE_IGNORE_IMPLEMENTATION(archive::class_id_type)
BOOST_ARCHIVE_IGNORE_IMPLEMENTATION(archive::class_id_reference_type)
BOOST_ARCHIVE_IGNORE_IMPLEMENTATION(archive::object_id_type)
@@ -60,6 +62,7 @@
BOOST_ARCHIVE_IGNORE_IMPLEMENTATION(archive::tracking_type)
BOOST_ARCHIVE_IGNORE_IMPLEMENTATION(archive::class_name_type)
BOOST_ARCHIVE_IGNORE_IMPLEMENTATION(serialization::collection_size_type)
+BOOST_ARCHIVE_IGNORE_IMPLEMENTATION(serialization::item_version_type)
void save_override(std::string const & s, int)
{
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk