1 | /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 |
---|---|
2 | // test_polymorphic2imp.cpp |
3 | |
4 | // (C) Copyright 2009 Robert Ramey - http://www.rrsd.com . |
5 | // Use, modification and distribution is subject to the Boost Software |
6 | // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at |
7 | // http://www.boost.org/LICENSE_1_0.txt) |
8 | |
9 | // should pass compilation and execution |
10 | |
11 | #include <boost/serialization/export.hpp> |
12 | #include <boost/archive/polymorphic_oarchive.hpp> |
13 | #include <boost/archive/polymorphic_iarchive.hpp> |
14 | |
15 | #include "test_polymorphic2.hpp" |
16 | |
17 | void A::serialize( |
18 | boost::archive::polymorphic_oarchive &ar, |
19 | const unsigned int /*version*/ |
20 | ){ |
21 | ar & BOOST_SERIALIZATION_NVP(i); |
22 | } |
23 | void A::serialize( |
24 | boost::archive::polymorphic_iarchive &ar, |
25 | const unsigned int /*version*/ |
26 | ){ |
27 | ar & BOOST_SERIALIZATION_NVP(i); |
28 | } |
29 | // note: only the most derived classes need be exported |
30 | // BOOST_CLASS_EXPORT(A) |
31 | |
32 | void B::serialize( |
33 | boost::archive::polymorphic_oarchive &ar, |
34 | const unsigned int /*version*/ |
35 | ){ |
36 | ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A); |
37 | } |
38 | void B::serialize( |
39 | boost::archive::polymorphic_iarchive &ar, |
40 | const unsigned int /*version*/ |
41 | ){ |
42 | ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(A); |
43 | } |
44 | BOOST_CLASS_EXPORT(B) |
45 |