// 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 hana::test::ct_eq; using hana::test::ct_ord; int main() { auto eq_elems = hana::make_tuple(ct_eq<3>{}, ct_eq<4>{}); auto eqs = hana::make_tuple( std::make_pair(ct_eq<3>{}, ct_eq<3>{}) , std::make_pair(ct_eq<3>{}, ct_eq<4>{}) , std::make_pair(ct_eq<4>{}, ct_eq<3>{}) , std::make_pair(ct_eq<4>{}, ct_eq<4>{}) ); auto ords = hana::make_tuple( std::make_pair(ct_ord<3>{}, ct_ord<3>{}) , std::make_pair(ct_ord<3>{}, ct_ord<4>{}) , std::make_pair(ct_ord<4>{}, ct_ord<3>{}) , std::make_pair(ct_ord<4>{}, ct_ord<4>{}) ); hana::test::TestComparable{eqs}; hana::test::TestOrderable{ords}; hana::test::TestFoldable{eqs}; hana::test::TestProduct{eq_elems}; }