/* @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; template constexpr auto key = detail::minimal::comparable<>(i); template constexpr auto value = detail::minimal::comparable<>(i + 100); template BOOST_HANA_CONSTEXPR_LAMBDA auto p = pair(key, value); int main() { using L = detail::minimal::List<>; constexpr auto list = detail::minimal::list<>; BOOST_HANA_STATIC_ASSERT(to(map()) == list()); BOOST_HANA_STATIC_ASSERT(to(map(p<1, 1>)) == list(p<1, 1>)); BOOST_HANA_STATIC_ASSERT(elem(to(map(p<1, 1>, p<2, 2>)), permutations(list(p<1, 1>, p<2, 2>)))); BOOST_HANA_STATIC_ASSERT(elem(to(map(p<1, 1>, p<2, 2>, p<3, 3>)), permutations(list(p<1, 1>, p<2, 2>, p<3, 3>)))); }