/* @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 #include #include using namespace boost::hana; int main() { { //! [comparable] BOOST_HANA_RUNTIME_CHECK( map( pair(char_<'a'>, std::string{"foobar"}), pair(type, nullptr) ) == map( pair(type, (void*)0), pair(char_<'a'>, "foobar") ) ); //! [comparable] } { //! [searchable] BOOST_HANA_CONSTEXPR_LAMBDA auto m = map( pair(type, 'i'), pair(type, 'f') ); BOOST_HANA_CONSTEXPR_CHECK(lookup(m, type) == just('i')); BOOST_HANA_CONSTEXPR_CHECK(lookup(m, type) == just('f')); BOOST_HANA_CONSTANT_CHECK(lookup(m, type) == nothing); BOOST_HANA_CONSTANT_CHECK(lookup(m, int_<3>) == nothing); //! [searchable] } }