[SVN r85182]
This commit is contained in:
Ion Gaztañaga committed 2013-08-01 15:18:00 +00:00
1 parent b0ba0bb9c0
commit 0cd5b2022c
2 files changed
+13 -3

No files matched your search

+10 -2
View File
@@ -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 @@ struct has_trivial_destructor_after_move
: ::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 {