diff --git a/include/boost/type_traits/is_complex.hpp b/include/boost/type_traits/is_complex.hpp index 08210eb..7cf04b4 100644 --- a/include/boost/type_traits/is_complex.hpp +++ b/include/boost/type_traits/is_complex.hpp @@ -14,6 +14,9 @@ namespace boost { template struct is_complex : public false_type {}; + template struct is_complex : public is_complex{}; + template struct is_complex : public is_complex{}; + template struct is_complex : public is_complex{}; template struct is_complex > : public true_type{}; } // namespace boost diff --git a/include/boost/type_traits/is_nothrow_move_constructible.hpp b/include/boost/type_traits/is_nothrow_move_constructible.hpp index 3cbca21..8f4cee2 100644 --- a/include/boost/type_traits/is_nothrow_move_constructible.hpp +++ b/include/boost/type_traits/is_nothrow_move_constructible.hpp @@ -14,6 +14,7 @@ #include #include #include +#include #ifdef BOOST_IS_NOTHROW_MOVE_CONSTRUCT @@ -25,7 +26,7 @@ struct is_nothrow_move_constructible : public integral_constant struct is_nothrow_move_constructible : public ::boost::false_type {}; template struct is_nothrow_move_constructible : public ::boost::false_type{}; -#elif !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) +#elif !defined(BOOST_NO_CXX11_NOEXCEPT) && !defined(BOOST_NO_SFINAE_EXPR) && !BOOST_WORKAROUND(BOOST_GCC_VERSION, < 40700) #include #include diff --git a/test/is_complex_test.cpp b/test/is_complex_test.cpp index f47c641..2d0c2e8 100644 --- a/test/is_complex_test.cpp +++ b/test/is_complex_test.cpp @@ -32,6 +32,15 @@ TT_TEST_BEGIN(is_complex) BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); + BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_complex >::value, true); TT_TEST_END