/* @copyright Louis Dionne 2014 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) */ #include #include #include #include #include // instances #include #include #include using namespace boost::hana; namespace boost { namespace hana { namespace test { template auto instances> = tuple( type, type ); template auto objects> = tuple( ::std::integral_constant{}, ::std::integral_constant{}, ::std::integral_constant{}, ::std::integral_constant{} ); }}} int main() { test::check_datatype>(); // interoperation with Integral { BOOST_HANA_CONSTANT_CHECK(std::integral_constant{} == int_<1>); BOOST_HANA_CONSTANT_CHECK(std::integral_constant{} == long_<1>); BOOST_HANA_CONSTANT_CHECK(std::integral_constant{} != int_<3>); } // Constant { // value { static_assert(value(std::integral_constant{}) == 0, ""); static_assert(value(std::integral_constant{}) == 1, ""); } } }