12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // Copyright Antony Polukhin, 2021-2024.
- //
- // Distributed under the Boost Software License, Version 1.0. (See
- // accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- // Contributed by Ruslan Arutyunyan
- #ifndef BOOST_ANY_ANYS_FWD_HPP
- #define BOOST_ANY_ANYS_FWD_HPP
- #include <boost/config.hpp>
- #ifdef BOOST_HAS_PRAGMA_ONCE
- # pragma once
- #endif
- /// \file boost/any/fwd.hpp
- /// \brief Forward declarations of Boost.Any library types.
- /// @cond
- namespace boost {
- class any;
- namespace anys {
- class unique_any;
- template<std::size_t OptimizeForSize = sizeof(void*), std::size_t OptimizeForAlignment = alignof(void*)>
- class basic_any;
- namespace detail {
- template <class T>
- struct is_basic_any: public std::false_type {};
- template<std::size_t OptimizeForSize, std::size_t OptimizeForAlignment>
- struct is_basic_any<boost::anys::basic_any<OptimizeForSize, OptimizeForAlignment> > : public std::true_type {};
- template <class T>
- struct is_some_any: public is_basic_any<T> {};
- template <>
- struct is_some_any<boost::any>: public std::true_type {};
- template <>
- struct is_some_any<boost::anys::unique_any>: public std::true_type {};
- } // namespace detail
- } // namespace anys
- } // namespace boost
- /// @endcond
- #endif // #ifndef BOOST_ANY_ANYS_FWD_HPP
|