dll_derived2.cpp 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
  2. // dll_derived2.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. // Build a dll which contains the serialization for a class A
  8. // used in testing distribution of serialization code in DLLS
  9. #include <boost/config.hpp>
  10. #include <boost/serialization/nvp.hpp>
  11. #define DERIVED2_EXPORT
  12. #include "derived2.hpp"
  13. template<class Archive>
  14. void derived2::serialize(
  15. Archive &ar,
  16. const unsigned int /* file_version */
  17. ){
  18. ar & BOOST_SERIALIZATION_BASE_OBJECT_NVP(base);
  19. }
  20. // instantiate code for text archives
  21. #include <boost/archive/text_oarchive.hpp>
  22. #include <boost/archive/text_iarchive.hpp>
  23. template BOOST_SYMBOL_EXPORT void derived2::serialize(
  24. boost::archive::text_oarchive & ar,
  25. const unsigned int version
  26. );
  27. template BOOST_SYMBOL_EXPORT void derived2::serialize(
  28. boost::archive::text_iarchive & ar,
  29. const unsigned int version
  30. );
  31. #include <boost/archive/polymorphic_oarchive.hpp>
  32. #include <boost/archive/polymorphic_iarchive.hpp>
  33. template BOOST_SYMBOL_EXPORT void derived2::serialize(
  34. boost::archive::polymorphic_oarchive & ar,
  35. const unsigned int version
  36. );
  37. template BOOST_SYMBOL_EXPORT void derived2::serialize(
  38. boost::archive::polymorphic_iarchive & ar,
  39. const unsigned int version
  40. );
  41. // note: export has to be AFTER #includes for all archive classes
  42. #include <boost/serialization/factory.hpp>
  43. BOOST_SERIALIZATION_FACTORY_0(derived2)
  44. BOOST_CLASS_EXPORT(derived2)