// Copyright Louis Dionne 2013-2017 // 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 #include #include namespace hana = boost::hana; using namespace hana::literals; static auto m1 = hana::make_map( hana::make_pair(BOOST_HANA_STRING("key1"), hana::type_c), hana::make_pair(BOOST_HANA_STRING("key2"), hana::type_c) ); static auto m2 = hana::make_map( hana::make_pair(BOOST_HANA_STRING("key3"), hana::type_c), hana::make_pair(BOOST_HANA_STRING("key4"), hana::type_c), hana::make_pair(BOOST_HANA_STRING("key5"), hana::type_c) ); BOOST_HANA_CONSTANT_CHECK(hana::union_(m1, m2) == hana::make_map( hana::make_pair(BOOST_HANA_STRING("key1"), hana::type_c), hana::make_pair(BOOST_HANA_STRING("key2"), hana::type_c), hana::make_pair(BOOST_HANA_STRING("key3"), hana::type_c), hana::make_pair(BOOST_HANA_STRING("key4"), hana::type_c), hana::make_pair(BOOST_HANA_STRING("key5"), hana::type_c) )); constexpr auto m3 = hana::make_map( hana::make_pair(hana::type_c, hana::int_c<1>), hana::make_pair(hana::type_c, hana::bool_c) ); constexpr auto m4 = hana::make_map( hana::make_pair(hana::type_c, hana::char_c<'c'>), hana::make_pair(hana::type_c, hana::bool_c) ); BOOST_HANA_CONSTANT_CHECK(hana::union_(m3, m4) == hana::make_map( hana::make_pair(hana::type_c, hana::int_c<1>), hana::make_pair(hana::type_c, hana::bool_c), hana::make_pair(hana::type_c, hana::char_c<'c'>) )); int main() { }