From 7aca3d94becc5827df345447c94b128fd0c45cf8 Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Mon, 6 Jun 2011 16:39:29 +0000 Subject: [PATCH] move.h (move_if_noexcept): Use __and_ and __not_. 2011-06-06 Paolo Carlini * include/bits/move.h (move_if_noexcept): Use __and_ and __not_. From-SVN: r174708 --- libstdc++-v3/ChangeLog | 4 ++++ libstdc++-v3/include/bits/move.h | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 2f485b1423d..ff7e2dad426 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,7 @@ +2011-06-06 Paolo Carlini + + * include/bits/move.h (move_if_noexcept): Use __and_ and __not_. + 2011-06-05 Jonathan Wakely * include/bits/ptr_traits.h (pointer_traits): Fix typos. diff --git a/libstdc++-v3/include/bits/move.h b/libstdc++-v3/include/bits/move.h index ca7686eb162..6f3b420640d 100644 --- a/libstdc++-v3/include/bits/move.h +++ b/libstdc++-v3/include/bits/move.h @@ -90,8 +90,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION */ template inline typename - conditional<(!is_nothrow_move_constructible<_Tp>::value - && is_copy_constructible<_Tp>::value), + conditional<__and_<__not_>, + is_copy_constructible<_Tp>>::value, const _Tp&, _Tp&&>::type move_if_noexcept(_Tp& __x) noexcept { return std::move(__x); } -- 2.30.2