/* @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 #include using namespace boost::hana; int main() { //! [liftable] BOOST_HANA_CONSTANT_CHECK(trait(type)); BOOST_HANA_CONSTANT_CHECK(not_(trait(type))); //! [liftable] //! [nonliftable] BOOST_HANA_CONSTEXPR_LAMBDA auto extent = [](auto t, auto n) { return std::extent{}; }; BOOST_HANA_CONSTANT_CHECK(extent(type, int_<1>) == int_<0>); BOOST_HANA_CONSTANT_CHECK(extent(type, int_<1>) == int_<2>); //! [nonliftable] }