/* @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 using namespace boost::hana; using T = int; using U = long long; int main() { ////////////////////////////////////////////////////////////////////////// // Setup for the laws below ////////////////////////////////////////////////////////////////////////// auto sequences = make( std::integer_sequence{}, std::integer_sequence{}, std::integer_sequence{}, std::integer_sequence{}, std::integer_sequence{}, std::integer_sequence{}, std::integer_sequence{}, std::integer_sequence{} ); ////////////////////////////////////////////////////////////////////////// // Comparable ////////////////////////////////////////////////////////////////////////// { // equal { BOOST_HANA_CONSTANT_CHECK(equal( std::integer_sequence{}, std::integer_sequence{} )); BOOST_HANA_CONSTANT_CHECK(not_(equal( std::integer_sequence{}, std::integer_sequence{} ))); BOOST_HANA_CONSTANT_CHECK(not_(equal( std::integer_sequence{}, std::integer_sequence{} ))); BOOST_HANA_CONSTANT_CHECK(equal( std::integer_sequence{}, std::integer_sequence{} )); BOOST_HANA_CONSTANT_CHECK(not_(equal( std::integer_sequence{}, std::integer_sequence{} ))); BOOST_HANA_CONSTANT_CHECK(not_(equal( std::integer_sequence{}, std::integer_sequence{} ))); BOOST_HANA_CONSTANT_CHECK(equal( std::integer_sequence{}, std::integer_sequence{} )); BOOST_HANA_CONSTANT_CHECK(not_(equal( std::integer_sequence{}, std::integer_sequence{} ))); } // laws test::TestComparable{sequences}; } }