test_const_pass.cpp 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
  2. // test_const.cpp
  3. // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
  4. // Use, modification and distribution is subject to the Boost Software
  5. // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  6. // http://www.boost.org/LICENSE_1_0.txt)
  7. // compile only
  8. #include <boost/archive/text_oarchive.hpp>
  9. #include <boost/archive/text_iarchive.hpp>
  10. #include <boost/serialization/nvp.hpp>
  11. struct A {
  12. template<class Archive>
  13. void serialize(Archive & ar, unsigned int version) {
  14. }
  15. };
  16. // should compile w/o problem
  17. void f1(boost::archive::text_oarchive & oa, const A & a){
  18. oa & a;
  19. oa & BOOST_SERIALIZATION_NVP(a);
  20. oa << a;
  21. oa << BOOST_SERIALIZATION_NVP(a);
  22. }
  23. void f2(boost::archive::text_oarchive & oa, const A * const & a){
  24. oa & a;
  25. oa & BOOST_SERIALIZATION_NVP(a);
  26. oa << a;
  27. oa << BOOST_SERIALIZATION_NVP(a);
  28. }
  29. void f3(boost::archive::text_iarchive & ia, A & a){
  30. ia & a;
  31. ia & BOOST_SERIALIZATION_NVP(a);
  32. ia >> a;
  33. ia >> BOOST_SERIALIZATION_NVP(a);
  34. }
  35. void f4(boost::archive::text_iarchive & ia, A * & a){
  36. ia & a;
  37. ia & BOOST_SERIALIZATION_NVP(a);
  38. ia >> a;
  39. ia >> BOOST_SERIALIZATION_NVP(a);
  40. }
  41. #if 0
  42. void f5(boost::archive::text_oarchive & oa, const A * & a){
  43. oa & a;
  44. oa & BOOST_SERIALIZATION_NVP(a);
  45. oa << a;
  46. oa << BOOST_SERIALIZATION_NVP(a);
  47. }
  48. #endif