polymorphic_text_wiarchive.hpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #ifndef BOOST_ARCHIVE_POLYMORPHIC_TEXT_WIARCHIVE_HPP
  2. #define BOOST_ARCHIVE_POLYMORPHIC_TEXT_WIARCHIVE_HPP
  3. // MS compatible compilers support #pragma once
  4. #if defined(_MSC_VER)
  5. # pragma once
  6. #endif
  7. /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8
  8. // polymorphic_text_wiarchive.hpp
  9. // (C) Copyright 2002 Robert Ramey - http://www.rrsd.com .
  10. // Use, modification and distribution is subject to the Boost Software
  11. // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  12. // http://www.boost.org/LICENSE_1_0.txt)
  13. // See http://www.boost.org for updates, documentation, and revision history.
  14. #include <boost/config.hpp>
  15. #ifdef BOOST_NO_STD_WSTREAMBUF
  16. #error "wide char i/o not supported on this platform"
  17. #else
  18. #include <boost/archive/text_wiarchive.hpp>
  19. #include <boost/archive/detail/polymorphic_iarchive_route.hpp>
  20. #ifdef BOOST_MSVC
  21. # pragma warning(push)
  22. # pragma warning(disable : 4511 4512)
  23. #endif
  24. namespace boost {
  25. namespace archive {
  26. class BOOST_SYMBOL_VISIBLE polymorphic_text_wiarchive :
  27. public detail::polymorphic_iarchive_route<text_wiarchive>
  28. {
  29. public:
  30. polymorphic_text_wiarchive(std::wistream & is, unsigned int flags = 0) :
  31. detail::polymorphic_iarchive_route<text_wiarchive>(is, flags)
  32. {}
  33. ~polymorphic_text_wiarchive() BOOST_OVERRIDE {}
  34. };
  35. } // namespace archive
  36. } // namespace boost
  37. #ifdef BOOST_MSVC
  38. #pragma warning(pop)
  39. #endif
  40. // required by export
  41. BOOST_SERIALIZATION_REGISTER_ARCHIVE(
  42. boost::archive::polymorphic_text_wiarchive
  43. )
  44. #endif // BOOST_NO_STD_WSTREAMBUF
  45. #endif // BOOST_ARCHIVE_POLYMORPHIC_TEXT_WIARCHIVE_HPP