diff --git a/test/is_union_test.cpp b/test/is_union_test.cpp index bd2b4a7..7230c37 100644 --- a/test/is_union_test.cpp +++ b/test/is_union_test.cpp @@ -7,47 +7,58 @@ #include "test.hpp" #include "check_integral_constant.hpp" #include TYPE_TRAITS(is_union) +#include TT_TEST_BEGIN(is_union) -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); +#ifdef BOOST_HAS_TYPE_TRAITS_INTRINSICS + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, true); +#else + std::cout << + "\n\n" + "This compiler version does not provide support for is_union on\n" + "union types. Such support is not currently required by the\n" + "C++ Standard. It will be required to support the upcoming\n" + "Standard Library Technical Report.\n" + "\n"; +#endif -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); -BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_union::value, false); TT_TEST_END