From 0cd5b2022c450ea1e412a39df43d70ba93730afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Thu, 1 Aug 2013 15:18:00 +0000 Subject: [PATCH] FixesFixes #8764. [SVN r85182] --- doc/move.qbk | 4 +++- include/boost/move/traits.hpp | 12 ++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/doc/move.qbk b/doc/move.qbk index baeb1aa..d874187 100644 --- a/doc/move.qbk +++ b/doc/move.qbk @@ -793,7 +793,9 @@ Many thanks to all boosters that have tested, reviewed and improved the library. [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] diff --git a/include/boost/move/traits.hpp b/include/boost/move/traits.hpp index e5c8444..b094827 100644 --- a/include/boost/move/traits.hpp +++ b/include/boost/move/traits.hpp @@ -16,6 +16,8 @@ #include #include +#include +#include #include #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES @@ -38,11 +40,17 @@ struct has_trivial_destructor_after_move : ::boost::has_trivial_destructor {}; -//! By default this traits returns false. Classes with non-throwing move constructor +//! By default this traits returns +//!
boost::is_nothrow_move_constructible::value || boost::is_nothrow_move_assignable::value 
. +//! Classes with non-throwing move constructor //! and assignment can specialize this trait to obtain some performance improvements. template struct has_nothrow_move - : public ::boost::move_detail::integral_constant + : public ::boost::move_detail::integral_constant + < bool + , boost::is_nothrow_move_constructible::value || + boost::is_nothrow_move_assignable::value + > {}; namespace move_detail {