/* @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 using namespace boost::hana; template BOOST_HANA_CONSTEXPR_LAMBDA auto ilist = list_c; int main() { BOOST_HANA_STATIC_ASSERT(take(int_<0>, list()) == list()); BOOST_HANA_STATIC_ASSERT(take(int_<1>, list()) == list()); BOOST_HANA_STATIC_ASSERT(take(int_<2>, list()) == list()); BOOST_HANA_STATIC_ASSERT(take(int_<0>, ilist<0>) == list()); BOOST_HANA_STATIC_ASSERT(take(int_<1>, ilist<0>) == ilist<0>); BOOST_HANA_STATIC_ASSERT(take(int_<2>, ilist<0>) == ilist<0>); BOOST_HANA_STATIC_ASSERT(take(int_<3>, ilist<0>) == ilist<0>); BOOST_HANA_STATIC_ASSERT(take(int_<0>, ilist<0, 1>) == list()); BOOST_HANA_STATIC_ASSERT(take(int_<1>, ilist<0, 1>) == ilist<0>); BOOST_HANA_STATIC_ASSERT(take(int_<2>, ilist<0, 1>) == ilist<0, 1>); BOOST_HANA_STATIC_ASSERT(take(int_<3>, ilist<0, 1>) == ilist<0, 1>); }