any_base.hpp 822 B

12345678910111213141516171819202122232425262728293031
  1. // Boost.TypeErasure library
  2. //
  3. // Copyright 2011 Steven Watanabe
  4. //
  5. // Distributed under the Boost Software License Version 1.0. (See
  6. // accompanying file LICENSE_1_0.txt or copy at
  7. // http://www.boost.org/LICENSE_1_0.txt)
  8. //
  9. // $Id$
  10. #ifndef BOOST_TYPE_ERASURE_DETAIL_ANY_BASE_HPP_INCLUDED
  11. #define BOOST_TYPE_ERASURE_DETAIL_ANY_BASE_HPP_INCLUDED
  12. namespace boost {
  13. namespace type_erasure {
  14. template<class Derived>
  15. struct any_base
  16. {
  17. typedef void _boost_type_erasure_is_any;
  18. typedef Derived _boost_type_erasure_derived_type;
  19. // volatile makes this a worse match than the default constructor
  20. // for msvc-14.1, which can get confused otherwise.
  21. void* _boost_type_erasure_deduce_constructor(...) const volatile { return 0; }
  22. void* _boost_type_erasure_deduce_assign(...) { return 0; }
  23. };
  24. }
  25. }
  26. #endif