Ticket #5340: compileErrorSerialiazationPatch.cpp

File compileErrorSerialiazationPatch.cpp, 1.2 KB (added by anonymous, 8 years ago)
Line 
1
2#include <boost/archive/binary_oarchive.hpp>
3#include <boost/archive/binary_iarchive.hpp>
4
5#include <boost/serialization/export.hpp>
6
7typedef boost::archive::binary_oarchive boostOArchive;
8typedef boost::archive::binary_iarchive boostIArchive;
9
10#define TEMPLATE_INSTANTIATION_FOR_BOOST_ARCHIVE( T ) \
11 template void T ::serialize<boostIArchive>(boostIArchive&, unsigned int);\
12 template void T ::serialize<boostOArchive>(boostOArchive&, unsigned int);\
13
14class AccessTestBase
15{
16protected:
17 virtual ~AccessTestBase()
18 {};
19private:
20 friend class boost::serialization::access;
21
22 template<class Archive>
23 void serialize( Archive&, const unsigned int )
24 {};
25};
26
27BOOST_CLASS_EXPORT_KEY( AccessTestBase );
28BOOST_CLASS_EXPORT_IMPLEMENT( AccessTestBase );
29TEMPLATE_INSTANTIATION_FOR_BOOST_ARCHIVE( AccessTestBase )
30
31class AccessTestDerB: public AccessTestBase
32{
33private:
34 friend class boost::serialization::access;
35
36// template<class Archive>
37// void serialize( Archive&, const unsigned int )
38// {};
39public:
40 AccessTestDerB(){}
41};
42
43BOOST_CLASS_EXPORT_KEY( AccessTestDerB );
44BOOST_CLASS_EXPORT_IMPLEMENT( AccessTestDerB );
45TEMPLATE_INSTANTIATION_FOR_BOOST_ARCHIVE(AccessTestDerB)
46
47int main()
48{
49 return 0;
50}