2011-06-06 Paolo Carlini <paolo.carlini@oracle.com>
* include/bits/move.h (move_if_noexcept): Use __and_ and __not_.
From-SVN: r174708
+2011-06-06 Paolo Carlini <paolo.carlini@oracle.com>
+
+ * include/bits/move.h (move_if_noexcept): Use __and_ and __not_.
+
2011-06-05 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/ptr_traits.h (pointer_traits): Fix typos.
*/
template<typename _Tp>
inline typename
- conditional<(!is_nothrow_move_constructible<_Tp>::value
- && is_copy_constructible<_Tp>::value),
+ conditional<__and_<__not_<is_nothrow_move_constructible<_Tp>>,
+ is_copy_constructible<_Tp>>::value,
const _Tp&, _Tp&&>::type
move_if_noexcept(_Tp& __x) noexcept
{ return std::move(__x); }