/* @copyright Louis Dionne 2014 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 using namespace boost::hana; namespace boost { namespace hana { namespace test { template <> auto instances = tuple(type); template <> auto objects = tuple( pair(cnumeric, cnumeric) , pair(cnumeric, cnumeric) , pair(cnumeric, cnumeric) , pair(cnumeric, cnumeric) ); }}} int main() { test::check_datatype(); // Product { using test::x; // first { BOOST_HANA_CONSTANT_CHECK(equal( first(pair(x<1>, x<2>)), x<1> )); } // second { BOOST_HANA_CONSTANT_CHECK(equal( second(pair(x<1>, x<2>)), x<2> )); } // make { BOOST_HANA_CONSTANT_CHECK(equal( make(x<1>, x<2>), pair(x<1>, x<2>) )); } } }