/* @copyright Louis Dionne 2015 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 using namespace boost::hana; template using eq = test::ct_eq; int main() { ////////////////////////////////////////////////////////////////////////// // Setup for the laws below ////////////////////////////////////////////////////////////////////////// auto eq_tuples = make( std::make_tuple() , std::make_tuple(eq<0>{}) , std::make_tuple(eq<0>{}, eq<1>{}) , std::make_tuple(eq<0>{}, eq<1>{}, eq<2>{}) ); ////////////////////////////////////////////////////////////////////////// // Foldable, Iterable, Traversable ////////////////////////////////////////////////////////////////////////// test::TestFoldable{eq_tuples}; test::TestIterable{eq_tuples}; test::TestTraversable{}; }