// 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 namespace hana = boost::hana; using namespace hana::literals; constexpr auto m1 = hana::make_map( hana::make_pair("key1"_s, hana::type_c), hana::make_pair("key2"_s, hana::type_c) ); constexpr auto m2 = hana::make_map( hana::make_pair("key3"_s, hana::type_c), hana::make_pair("key4"_s, hana::type_c), hana::make_pair("key5"_s, hana::type_c) ); BOOST_HANA_CONSTANT_CHECK(hana::intersection(m1, m2) == hana::make_map()); 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), hana::make_pair(hana::type_c, "hana"_s), hana::make_pair(hana::type_c, hana::int_c<100>) ); 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), hana::make_pair(hana::type_c, "boost"_s) ); BOOST_HANA_CONSTANT_CHECK(hana::intersection(m3, m4) == hana::make_map( hana::make_pair(hana::type_c, hana::bool_c), hana::make_pair(hana::type_c, "hana"_s) )); int main() { }