// 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 "minimal_struct.hpp" #include #include #include #include namespace hana = boost::hana; using hana::test::ct_eq; int main() { auto eq0 = hana::make_tuple(obj()); auto eq1 = hana::make_tuple( obj(ct_eq<0>{}), obj(ct_eq<1>{}), obj(ct_eq<2>{}) ); auto eq2 = hana::make_tuple( obj(ct_eq<0>{}, ct_eq<0>{}), obj(ct_eq<0>{}, ct_eq<1>{}), obj(ct_eq<1>{}, ct_eq<0>{}), obj(ct_eq<1>{}, ct_eq<1>{}), obj(ct_eq<0>{}, ct_eq<2>{}), obj(ct_eq<2>{}, ct_eq<3>{}) ); hana::test::TestComparable>{eq0}; hana::test::TestComparable>{eq1}; hana::test::TestComparable>{eq2}; hana::test::TestFoldable>{eq0}; hana::test::TestFoldable>{eq1}; hana::test::TestFoldable>{eq2}; hana::test::TestSearchable>{eq0, hana::make_tuple()}; hana::test::TestSearchable>{eq1, hana::make_tuple(hana::int_c<0>)}; hana::test::TestSearchable>{eq2, hana::make_tuple(hana::int_c<0>, hana::int_c<1>)}; }