OSDN Git Service

2011-06-06 Paolo Carlini <paolo.carlini@oracle.com>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 6 Jun 2011 16:39:29 +0000 (16:39 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 6 Jun 2011 16:39:29 +0000 (16:39 +0000)
* include/bits/move.h (move_if_noexcept): Use __and_ and __not_.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174708 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/move.h

index 2f485b1..ff7e2da 100644 (file)
@@ -1,3 +1,7 @@
+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.
index ca7686e..6f3b420 100644 (file)
@@ -90,8 +90,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
    */
   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); }