void_cast_fwd.hpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef BOOST_SERIALIZATION_VOID_CAST_FWD_HPP
  2. #define BOOST_SERIALIZATION_VOID_CAST_FWD_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. // void_cast_fwd.hpp: interface for run-time casting of void pointers.
  9. // (C) Copyright 2005 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. // gennadiy.rozental@tfn.com
  14. // See http://www.boost.org for updates, documentation, and revision history.
  15. #include <cstddef> // NULL
  16. #include <boost/serialization/force_include.hpp>
  17. namespace boost {
  18. namespace serialization {
  19. namespace void_cast_detail{
  20. class void_caster;
  21. } // namespace void_cast_detail
  22. template<class Derived, class Base>
  23. BOOST_DLLEXPORT
  24. inline const void_cast_detail::void_caster & void_cast_register(
  25. const Derived * dnull = NULL,
  26. const Base * bnull = NULL
  27. ) BOOST_USED;
  28. } // namespace serialization
  29. } // namespace boost
  30. #endif // BOOST_SERIALIZATION_VOID_CAST_HPP