Reduced unused classes from meta_utiles and simplified the implementation of several traits classes to avoid inheritance from integral_constant

Moved declval to utility_core.hpp
This commit is contained in:
Ion Gaztañaga committed 2014-09-22 00:15:30 +02:00
1 parent c4bd007098
commit 291a95c30a
10 files changed
+143 -425

No files matched your search

+11 -10
View File
@@ -112,20 +112,21 @@
//! constructible or if it has no copy constructor. In all other cases const
//! reference would be returned
template <class T>
rvalue_reference move_if_noexcept(input_reference) noexcept;
rvalue_reference_or_const_lvalue_reference move_if_noexcept(input_reference) noexcept;
#else //BOOST_MOVE_OLD_RVALUE_REF_BINDING_RULES
#else //BOOST_MOVE_DOXYGEN_INVOKED
template <class T>
inline typename ::boost::move_detail::if_c
< ::boost::move_detail::is_nothrow_move_constructible_or_uncopyable<T>::value
, T&&
, const T&
>::type
typename ::boost::move_detail::enable_if_c
< ::boost::move_detail::is_nothrow_move_constructible_or_uncopyable<T>::value, T&&>::type
move_if_noexcept(T& x) BOOST_NOEXCEPT
{
return ::boost::move(x);
}
{ return ::boost::move(x); }
template <class T>
typename ::boost::move_detail::enable_if_c
< !::boost::move_detail::is_nothrow_move_constructible_or_uncopyable<T>::value, const T&>::type
move_if_noexcept(T& x) BOOST_NOEXCEPT
{ return x; }
#endif //BOOST_MOVE_DOXYGEN_INVOKED