placeholder.hpp 762 B

123456789101112131415161718192021222324252627282930313233
  1. // Copyright Antony Polukhin, 2021-2024.
  2. //
  3. // Distributed under the Boost Software License, Version 1.0. (See
  4. // accompanying file LICENSE_1_0.txt or copy at
  5. // http://www.boost.org/LICENSE_1_0.txt)
  6. #ifndef BOOST_ANY_ANYS_DETAIL_PLACEHOLDER_HPP
  7. #define BOOST_ANY_ANYS_DETAIL_PLACEHOLDER_HPP
  8. #include <boost/config.hpp>
  9. #ifdef BOOST_HAS_PRAGMA_ONCE
  10. # pragma once
  11. #endif
  12. #include <boost/type_index.hpp>
  13. /// @cond
  14. namespace boost {
  15. namespace anys {
  16. namespace detail {
  17. class BOOST_SYMBOL_VISIBLE placeholder {
  18. public:
  19. virtual ~placeholder() {}
  20. virtual const boost::typeindex::type_info& type() const noexcept = 0;
  21. };
  22. } // namespace detail
  23. } // namespace anys
  24. } // namespace boost
  25. /// @endcond
  26. #endif // #ifndef BOOST_ANY_ANYS_DETAIL_PLACEHOLDER_HPP