From 9ad41f9ff6dbf7c0220a2ff87d4cce7cc94bca78 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Mon, 20 Oct 2014 11:50:47 +0100 Subject: [PATCH] Remove unneeded is_const. Tidy up special cases. --- .../boost/type_traits/is_nothrow_move_assignable.hpp | 2 +- .../type_traits/is_nothrow_move_constructible.hpp | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/include/boost/type_traits/is_nothrow_move_assignable.hpp b/include/boost/type_traits/is_nothrow_move_assignable.hpp index 2ee0e45..7acbcce 100644 --- a/include/boost/type_traits/is_nothrow_move_assignable.hpp +++ b/include/boost/type_traits/is_nothrow_move_assignable.hpp @@ -37,7 +37,7 @@ struct false_or_cpp11_noexcept_move_assignable: public ::boost::false_type {}; template struct false_or_cpp11_noexcept_move_assignable < T, - typename ::boost::enable_if_c::value && BOOST_NOEXCEPT_EXPR(::boost::declval() = ::boost::declval())>::type + typename ::boost::enable_if_c() = ::boost::declval())>::type > : public ::boost::integral_constant() = ::boost::declval())> {}; diff --git a/include/boost/type_traits/is_nothrow_move_constructible.hpp b/include/boost/type_traits/is_nothrow_move_constructible.hpp index e557da3..b8a657a 100644 --- a/include/boost/type_traits/is_nothrow_move_constructible.hpp +++ b/include/boost/type_traits/is_nothrow_move_constructible.hpp @@ -42,12 +42,7 @@ struct false_or_cpp11_noexcept_move_constructible < template struct is_nothrow_move_constructible_imp{ - BOOST_STATIC_CONSTANT(bool, value = - (::boost::type_traits::ice_and< - ::boost::type_traits::ice_not< ::boost::is_volatile::value >::value, - ::boost::type_traits::ice_not< ::boost::is_reference::value >::value, - ::boost::detail::false_or_cpp11_noexcept_move_constructible::value - >::value)); + BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::false_or_cpp11_noexcept_move_constructible::value); }; template @@ -56,6 +51,10 @@ template struct is_nothrow_move_constructible_imp : public ::boost::false_type{}; template struct is_nothrow_move_constructible_imp : public ::boost::false_type{}; +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +template +struct is_nothrow_move_constructible_imp : public ::boost::false_type{}; +#endif #else