Chris@16: // (C) Copyright Jeremy Siek 2006 Chris@16: // Distributed under the Boost Software License, Version 1.0. (See Chris@16: // accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: #ifndef BOOST_PROPERTY_SERIALIZE_HPP Chris@16: #define BOOST_PROPERTY_SERIALIZE_HPP Chris@16: Chris@16: #include Chris@16: #ifdef BOOST_GRAPH_USE_MPI Chris@16: #include Chris@16: #include Chris@16: #endif // BOOST_GRAPH_USE_MPI Chris@16: Chris@16: #include Chris@16: #include Chris@16: Chris@16: namespace boost { Chris@16: template Chris@16: inline void serialize(Archive&, no_property&, const unsigned int) { } Chris@16: Chris@16: template Chris@16: void Chris@16: serialize(Archive& ar, property& prop, Chris@16: const unsigned int /*version*/) Chris@16: { Chris@16: ar & serialization::make_nvp( "property_value" , prop.m_value ); Chris@16: ar & serialization::make_nvp( "property_base" , prop.m_base ); Chris@16: } Chris@16: Chris@16: #ifdef BOOST_GRAPH_USE_MPI Chris@16: namespace mpi { Chris@16: template Chris@16: struct is_mpi_datatype > Chris@16: : mpl::and_, Chris@16: is_mpi_datatype > { }; Chris@16: } Chris@16: Chris@16: namespace serialization { Chris@16: template Chris@16: struct is_bitwise_serializable > Chris@16: : mpl::and_, Chris@16: is_bitwise_serializable > { }; Chris@16: Chris@16: template Chris@16: struct implementation_level > Chris@16: : mpl::int_ {} ; Chris@16: Chris@16: template Chris@16: struct tracking_level > Chris@16: : mpl::int_ {} ; Chris@16: Chris@16: } Chris@16: #endif // BOOST_GRAPH_USE_MPI Chris@16: Chris@16: } // end namespace boost Chris@16: Chris@16: #ifdef BOOST_GRAPH_USE_MPI Chris@16: namespace boost { namespace mpi { Chris@16: template<> Chris@16: struct is_mpi_datatype : mpl::true_ { }; Chris@16: Chris@16: } } // end namespace boost::mpi Chris@16: Chris@16: BOOST_IS_BITWISE_SERIALIZABLE(boost::no_property) Chris@16: BOOST_CLASS_IMPLEMENTATION(boost::no_property,object_serializable) Chris@16: BOOST_CLASS_TRACKING(boost::no_property,track_never) Chris@16: #endif // BOOST_GRAPH_USE_MPI Chris@16: Chris@16: #endif // BOOST_PROPERTY_SERIALIZE_HPP