williamr@2
|
1 |
// (C) Copyright Jeremy Siek 2006
|
williamr@2
|
2 |
// Distributed under the Boost Software License, Version 1.0. (See
|
williamr@2
|
3 |
// accompanying file LICENSE_1_0.txt or copy at
|
williamr@2
|
4 |
// http://www.boost.org/LICENSE_1_0.txt)
|
williamr@2
|
5 |
|
williamr@2
|
6 |
#ifndef BOOST_PROPERTY_SERIALIZE_HPP
|
williamr@2
|
7 |
#define BOOST_PROPERTY_SERIALIZE_HPP
|
williamr@2
|
8 |
|
williamr@2
|
9 |
#include <boost/pending/property.hpp>
|
williamr@2
|
10 |
|
williamr@2
|
11 |
#include <boost/serialization/base_object.hpp>
|
williamr@2
|
12 |
#include <boost/serialization/nvp.hpp>
|
williamr@2
|
13 |
|
williamr@2
|
14 |
namespace boost {
|
williamr@2
|
15 |
template<class Archive>
|
williamr@2
|
16 |
inline void serialize(Archive&, no_property&, const unsigned int) { }
|
williamr@2
|
17 |
|
williamr@2
|
18 |
template<class Archive, class Tag, class T, class Base>
|
williamr@2
|
19 |
void
|
williamr@2
|
20 |
serialize(Archive& ar, property<Tag, T, Base>& prop,
|
williamr@2
|
21 |
const unsigned int version)
|
williamr@2
|
22 |
{
|
williamr@2
|
23 |
ar & serialization::make_nvp( "property_base" , boost::serialization::base_object<Base>(prop) );
|
williamr@2
|
24 |
ar & serialization::make_nvp( "property_value" , prop.m_value );
|
williamr@2
|
25 |
}
|
williamr@2
|
26 |
} // end namespace boost
|
williamr@2
|
27 |
|
williamr@2
|
28 |
#endif // BOOST_PROPERTY_SERIALIZE_HPP
|