/*! @file Defines `boost::hana::is_a` and `boost::hana::is_an`. @copyright Louis Dionne 2013-2017 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) */ #ifndef BOOST_HANA_CORE_IS_A_HPP #define BOOST_HANA_CORE_IS_A_HPP #include #include #include #include #include BOOST_HANA_NAMESPACE_BEGIN ////////////////////////////////////////////////////////////////////////// // is_a ////////////////////////////////////////////////////////////////////////// template struct is_a_t : integral_constant::type>::value > { }; template struct is_a_t { template constexpr auto operator()(T const&) const { return hana::is_a; } }; BOOST_HANA_NAMESPACE_END #endif // !BOOST_HANA_CORE_IS_A_HPP