/* @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_STATIC_ASSERT(trait(type)); BOOST_HANA_STATIC_ASSERT(!trait(type)); //! [liftable] //! [nonliftable] BOOST_HANA_CONSTEXPR_LAMBDA auto extent = [](auto t, auto n) { return std::extent{}; }; BOOST_HANA_STATIC_ASSERT(extent(type, int_<1>) == int_<0>); BOOST_HANA_STATIC_ASSERT(extent(type, int_<1>) == int_<2>); //! [nonliftable] }