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/assert.hpp> 6 #include <boost/hana/equal.hpp> 7 #include <boost/hana/first.hpp> 8 #include <boost/hana/pair.hpp> 9 #include <boost/hana/second.hpp> 10 #include <boost/hana/tuple.hpp> 11 12 #include <laws/base.hpp> 13 #include <laws/product.hpp> 14 namespace hana = boost::hana; 15 using hana::test::ct_eq; 16 17 main()18int main() { 19 // first, second 20 { 21 hana::pair<ct_eq<1>, ct_eq<2>> p; 22 BOOST_HANA_CONSTANT_CHECK(hana::equal(hana::first(p), ct_eq<1>{})); 23 BOOST_HANA_CONSTANT_CHECK(hana::equal(hana::second(p), ct_eq<2>{})); 24 } 25 26 hana::test::TestProduct<hana::pair_tag>{hana::make_tuple( 27 ct_eq<3>{}, ct_eq<4>{}, ct_eq<5>{} 28 )}; 29 } 30