Remove unneeded is_const.

Tidy up special cases.
This commit is contained in:
jzmaddock
2014-10-20 11:50:47 +01:00
parent 5c0474dbc7
commit 9ad41f9ff6
2 changed files with 6 additions and 7 deletions

View File

@@ -37,7 +37,7 @@ struct false_or_cpp11_noexcept_move_assignable: public ::boost::false_type {};
template <class T>
struct false_or_cpp11_noexcept_move_assignable <
T,
typename ::boost::enable_if_c<sizeof(T) && !::boost::is_const<T>::value && BOOST_NOEXCEPT_EXPR(::boost::declval<T&>() = ::boost::declval<T>())>::type
typename ::boost::enable_if_c<sizeof(T) && BOOST_NOEXCEPT_EXPR(::boost::declval<T&>() = ::boost::declval<T>())>::type
> : public ::boost::integral_constant<bool, BOOST_NOEXCEPT_EXPR(::boost::declval<T&>() = ::boost::declval<T>())>
{};

View File

@@ -42,12 +42,7 @@ struct false_or_cpp11_noexcept_move_constructible <
template <class T>
struct is_nothrow_move_constructible_imp{
BOOST_STATIC_CONSTANT(bool, value =
(::boost::type_traits::ice_and<
::boost::type_traits::ice_not< ::boost::is_volatile<T>::value >::value,
::boost::type_traits::ice_not< ::boost::is_reference<T>::value >::value,
::boost::detail::false_or_cpp11_noexcept_move_constructible<T>::value
>::value));
BOOST_STATIC_CONSTANT(bool, value = ::boost::detail::false_or_cpp11_noexcept_move_constructible<T>::value);
};
template <class T>
@@ -56,6 +51,10 @@ template <class T>
struct is_nothrow_move_constructible_imp<const volatile T> : public ::boost::false_type{};
template <class T>
struct is_nothrow_move_constructible_imp<T&> : public ::boost::false_type{};
#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
template <class T>
struct is_nothrow_move_constructible_imp<T&&> : public ::boost::false_type{};
#endif
#else