1 // Copyright Louis Dionne 2013-2017 2 // Distributed under the Boost Software License, Version 1.0. 3 // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) 4 5 #include <boost/hana/integral_constant.hpp> 6 #include <boost/hana/tuple.hpp> 7 8 #include <laws/euclidean_ring.hpp> 9 #include <laws/group.hpp> 10 #include <laws/monoid.hpp> 11 #include <laws/ring.hpp> 12 namespace hana = boost::hana; 13 14 main()15int main() { 16 constexpr auto ints = hana::make_tuple( 17 hana::int_c<-10>, 18 hana::int_c<-2>, 19 hana::int_c<0>, 20 hana::int_c<1>, 21 hana::int_c<3>, 22 hana::int_c<4> 23 ); 24 25 hana::test::TestMonoid<hana::integral_constant_tag<int>>{ints}; 26 hana::test::TestGroup<hana::integral_constant_tag<int>>{ints}; 27 hana::test::TestRing<hana::integral_constant_tag<int>>{ints}; 28 hana::test::TestEuclideanRing<hana::integral_constant_tag<int>>{ints}; 29 } 30