sl@0: //  (C) Copyright Jeremy Siek 2006
sl@0: //  Distributed under the Boost Software License, Version 1.0. (See
sl@0: //  accompanying file LICENSE_1_0.txt or copy at
sl@0: //  http://www.boost.org/LICENSE_1_0.txt)
sl@0: 
sl@0: #ifndef BOOST_PROPERTY_SERIALIZE_HPP
sl@0: #define BOOST_PROPERTY_SERIALIZE_HPP
sl@0: 
sl@0: #include <boost/pending/property.hpp>
sl@0: 
sl@0: #include <boost/serialization/base_object.hpp>
sl@0: #include <boost/serialization/nvp.hpp>
sl@0: 
sl@0: namespace boost {
sl@0:   template<class Archive>
sl@0:   inline void serialize(Archive&, no_property&, const unsigned int) { }
sl@0: 
sl@0:   template<class Archive, class Tag, class T, class Base>
sl@0:   void 
sl@0:   serialize(Archive& ar, property<Tag, T, Base>& prop, 
sl@0:             const unsigned int version) 
sl@0:   {
sl@0:     ar & serialization::make_nvp( "property_base" , boost::serialization::base_object<Base>(prop) );
sl@0:     ar & serialization::make_nvp( "property_value" , prop.m_value );
sl@0:   }
sl@0: } // end namespace boost
sl@0: 
sl@0: #endif // BOOST_PROPERTY_SERIALIZE_HPP