/* @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; int main() { { //! [comparing] BOOST_HANA_CONSTEXPR_LAMBDA auto grouped = group_by(comparing(length), make( make(1, 2, 3), make('x', 'y', 'z'), range_c, tuple_t, range_c, make(123.4, nullptr) )); BOOST_HANA_CONSTEXPR_CHECK(grouped == make( make( make(1, 2, 3), make('x', 'y', 'z') ), make( range_c ), make( tuple_t, range_c, make(123.4, nullptr) ) )); //! [comparing] }{ //! [equal] BOOST_HANA_CONSTEXPR_CHECK(equal(make(1, 2), make(1, 2))); BOOST_HANA_CONSTEXPR_CHECK(!equal('x', 'y')); BOOST_HANA_CONSTANT_CHECK(!equal(make(1, 2), 'y')); BOOST_HANA_CONSTEXPR_CHECK(any_of(make(1, 2, 3), equal.to(2))); //! [equal] }{ //! [not_equal] BOOST_HANA_CONSTEXPR_CHECK(not_equal(make(1, 2), make(3))); BOOST_HANA_CONSTEXPR_CHECK(not_equal('x', 'y')); BOOST_HANA_CONSTANT_CHECK(not_equal(make(1, 2), 'y')); BOOST_HANA_CONSTEXPR_CHECK(all_of(make(1, 2, 3), not_equal.to(5))); //! [not_equal] } }