// Copyright Louis Dionne 2013-2017 // 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 "minimal.hpp" #include #include namespace hana = boost::hana; // Make sure we really satisfy Constant. static_assert(hana::Constant>::value, ""); static_assert(hana::Constant>::value, ""); static_assert(hana::Constant>::value, ""); static_assert(hana::Constant>::value, ""); // Make sure we can use hana::value<> properly. static_assert(hana::value>() == 0, ""); static_assert(hana::value>() == 1, ""); static_assert(hana::value>() == 2, ""); static_assert(hana::value>() == 3, ""); // Check the equivalence between `value(...)` and `value()`. static_assert(hana::value(minimal_constant{}) == hana::value>(), ""); static_assert(hana::value(minimal_constant{}) == hana::value>(), ""); static_assert(hana::value(minimal_constant{}) == hana::value>(), ""); static_assert(hana::value(minimal_constant{}) == hana::value>(), ""); int main() { }