/* @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 // instances #include #include #include #include using namespace boost::hana; namespace boost { namespace hana { namespace test { template <> auto instances = tuple( type ); template <> auto objects = tuple( ::std::make_pair(cnumeric, cnumeric), ::std::make_pair(cnumeric, cnumeric), ::std::make_pair(cnumeric, cnumeric), ::std::make_pair(cnumeric, cnumeric) ); }}} int main() { test::check_datatype(); using test::x; // Product { // first { BOOST_HANA_CONSTANT_CHECK(equal( first(std::make_pair(x<0>, x<1>)), x<0> )); } // second { BOOST_HANA_CONSTANT_CHECK(equal( second(std::make_pair(x<0>, x<1>)), x<1> )); } // make { BOOST_HANA_CONSTANT_CHECK(equal( make(x<0>, x<1>), std::make_pair(x<0>, x<1>) )); } } }