1 /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
2 // test_const.cpp
3 
4 // (C) Copyright 2002 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 // compile only
10 
11 #include <boost/archive/text_oarchive.hpp>
12 #include <boost/archive/text_iarchive.hpp>
13 #include <boost/serialization/nvp.hpp>
14 
15 struct A {
16     template<class Archive>
serializeA17     void serialize(Archive & ar, unsigned int version) {
18     }
19 };
20 
21 // should compile w/o problem
f1(boost::archive::text_oarchive & oa,const A & a)22 void f1(boost::archive::text_oarchive & oa, const A & a){
23     oa & a;
24     oa & BOOST_SERIALIZATION_NVP(a);
25     oa << a;
26     oa << BOOST_SERIALIZATION_NVP(a);
27 }
f2(boost::archive::text_oarchive & oa,const A * const & a)28 void f2(boost::archive::text_oarchive & oa, const A * const & a){
29     oa & a;
30     oa & BOOST_SERIALIZATION_NVP(a);
31     oa << a;
32     oa << BOOST_SERIALIZATION_NVP(a);
33 }
f3(boost::archive::text_iarchive & ia,A & a)34 void f3(boost::archive::text_iarchive & ia, A & a){
35     ia & a;
36     ia & BOOST_SERIALIZATION_NVP(a);
37     ia >> a;
38     ia >> BOOST_SERIALIZATION_NVP(a);
39 }
f4(boost::archive::text_iarchive & ia,A * & a)40 void f4(boost::archive::text_iarchive & ia, A * & a){
41     ia & a;
42     ia & BOOST_SERIALIZATION_NVP(a);
43     ia >> a;
44     ia >> BOOST_SERIALIZATION_NVP(a);
45 }
46 #if 0
47 void f5(boost::archive::text_oarchive & oa, const A * & a){
48     oa & a;
49     oa & BOOST_SERIALIZATION_NVP(a);
50     oa << a;
51     oa << BOOST_SERIALIZATION_NVP(a);
52 }
53 #endif
54 
55