polymorphic_binary_iarchive.hpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef BOOST_ARCHIVE_POLYMORPHIC_BINARY_IARCHIVE_HPP
  2. #define BOOST_ARCHIVE_POLYMORPHIC_BINARY_IARCHIVE_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_binary_iarchive.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. #include <boost/archive/binary_iarchive.hpp>
  16. #include <boost/archive/detail/polymorphic_iarchive_route.hpp>
  17. #ifdef BOOST_MSVC
  18. # pragma warning(push)
  19. # pragma warning(disable : 4511 4512)
  20. #endif
  21. namespace boost {
  22. namespace archive {
  23. class BOOST_SYMBOL_VISIBLE polymorphic_binary_iarchive :
  24. public detail::polymorphic_iarchive_route<binary_iarchive>
  25. {
  26. public:
  27. polymorphic_binary_iarchive(std::istream & is, unsigned int flags = 0) :
  28. detail::polymorphic_iarchive_route<binary_iarchive>(is, flags)
  29. {}
  30. ~polymorphic_binary_iarchive() BOOST_OVERRIDE {}
  31. };
  32. } // namespace archive
  33. } // namespace boost
  34. #ifdef BOOST_MSVC
  35. #pragma warning(pop)
  36. #endif
  37. // required by export
  38. BOOST_SERIALIZATION_REGISTER_ARCHIVE(
  39. boost::archive::polymorphic_binary_iarchive
  40. )
  41. #endif // BOOST_ARCHIVE_POLYMORPHIC_BINARY_IARCHIVE_HPP