#ifndef BOOST_ANY_ANYS_FWD_HPP
#define BOOST_ANY_ANYS_FWD_HPP
#include <boost/any/detail/config.hpp>
#if !defined(BOOST_USE_MODULES) || defined(BOOST_ANY_INTERFACE_UNIT)
#ifndef BOOST_ANY_INTERFACE_UNIT
#include <boost/config.hpp>
#ifdef BOOST_HAS_PRAGMA_ONCE
# pragma once
#endif
#endif
namespace boost {
BOOST_ANY_BEGIN_MODULE_EXPORT
class any;
BOOST_ANY_END_MODULE_EXPORT
namespace anys {
BOOST_ANY_BEGIN_MODULE_EXPORT
class unique_any;
template<std::size_t OptimizeForSize = sizeof(void*), std::size_t OptimizeForAlignment = alignof(void*)>
class basic_any;
BOOST_ANY_END_MODULE_EXPORT
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 {};
}
}
}
#endif
#endif