Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r85182 - in trunk: boost/move libs/move/doc
From: igaztanaga_at_[hidden]
Date: 2013-08-01 11:18:00


Author: igaztanaga
Date: 2013-08-01 11:18:00 EDT (Thu, 01 Aug 2013)
New Revision: 85182
URL: http://svn.boost.org/trac/boost/changeset/85182

Log:
FixesFixes #8764.

Text files modified:
   trunk/boost/move/traits.hpp | 12 ++++++++++--
   trunk/libs/move/doc/move.qbk | 4 +++-
   2 files changed, 13 insertions(+), 3 deletions(-)

Modified: trunk/boost/move/traits.hpp
==============================================================================
--- trunk/boost/move/traits.hpp Thu Aug 1 10:43:25 2013 (r85181)
+++ trunk/boost/move/traits.hpp 2013-08-01 11:18:00 EDT (Thu, 01 Aug 2013) (r85182)
@@ -16,6 +16,8 @@
 
 #include <boost/move/detail/config_begin.hpp>
 #include <boost/type_traits/has_trivial_destructor.hpp>
+#include <boost/type_traits/is_nothrow_move_constructible.hpp>
+#include <boost/type_traits/is_nothrow_move_assignable.hpp>
 #include <boost/move/detail/meta_utils.hpp>
 
 #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
@@ -38,11 +40,17 @@
    : ::boost::has_trivial_destructor<T>
 {};
 
-//! By default this traits returns false. Classes with non-throwing move constructor
+//! By default this traits returns
+//! <pre>boost::is_nothrow_move_constructible<T>::value || boost::is_nothrow_move_assignable<T>::value </pre>.
+//! Classes with non-throwing move constructor
 //! and assignment can specialize this trait to obtain some performance improvements.
 template <class T>
 struct has_nothrow_move
- : public ::boost::move_detail::integral_constant<bool, false>
+ : public ::boost::move_detail::integral_constant
+ < bool
+ , boost::is_nothrow_move_constructible<T>::value ||
+ boost::is_nothrow_move_assignable<T>::value
+ >
 {};
 
 namespace move_detail {

Modified: trunk/libs/move/doc/move.qbk
==============================================================================
--- trunk/libs/move/doc/move.qbk Thu Aug 1 10:43:25 2013 (r85181)
+++ trunk/libs/move/doc/move.qbk 2013-08-01 11:18:00 EDT (Thu, 01 Aug 2013) (r85182)
@@ -793,7 +793,9 @@
 [section:release_notes_boost_1_55_00 Boost 1.55 Release]
 
 * Fixed bugs [@https://svn.boost.org/trac/boost/ticket/7952 #7952],
- [@https://svn.boost.org/trac/boost/ticket/8842 #8842].
+ [@https://svn.boost.org/trac/boost/ticket/8842 #8842],
+ [@https://svn.boost.org/trac/boost/ticket/8764 #8764],
+ [@https://svn.boost.org/trac/boost/ticket/8765 #8765].
 
 [endsect]
 


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk