/* @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 using namespace boost::hana; int main() { struct X { using hana_datatype = X; }; struct Y { using hana_datatype = Y; }; constexpr X x{}; constexpr Y y{}; // Two objects of different data types are unequal by default. { BOOST_HANA_CONSTANT_ASSERT(are); BOOST_HANA_CONSTANT_ASSERT(not_(equal(x, y))); } // No instance is provided when the two objects are of the same data type. { BOOST_HANA_CONSTANT_ASSERT(not_(are)); BOOST_HANA_CONSTANT_ASSERT(not_(are)); } // laws { // we can't check the laws because `X` and `X` is not comparable } }