$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r83365 - trunk/libs/type_traits/test
From: antoshkka_at_[hidden]
Date: 2013-03-08 10:52:48
Author: apolukhin
Date: 2013-03-08 10:52:46 EST (Fri, 08 Mar 2013)
New Revision: 83365
URL: http://svn.boost.org/trac/boost/changeset/83365
Log:
Added C++11 specific tests for implementation of is_nothrow_move_constructible and is_nothrow_move_assignable traits (refs #8189).
Text files modified: 
   trunk/libs/type_traits/test/is_nothrow_move_assignable_test.cpp    |     4 ++++                                    
   trunk/libs/type_traits/test/is_nothrow_move_constructible_test.cpp |     4 ++++                                    
   trunk/libs/type_traits/test/test.hpp                               |    12 ++++++++++++                            
   3 files changed, 20 insertions(+), 0 deletions(-)
Modified: trunk/libs/type_traits/test/is_nothrow_move_assignable_test.cpp
==============================================================================
--- trunk/libs/type_traits/test/is_nothrow_move_assignable_test.cpp	(original)
+++ trunk/libs/type_traits/test/is_nothrow_move_assignable_test.cpp	2013-03-08 10:52:46 EST (Fri, 08 Mar 2013)
@@ -204,6 +204,10 @@
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<nothrow_copy_UDT>::value, false);
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<nothrow_construct_UDT>::value, false);
 
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_NOEXCEPT)
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<nothrow_move_UDT>::value, true);
+#endif
+
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_assignable<test_abc1>::value, false);
 
 TT_TEST_END
Modified: trunk/libs/type_traits/test/is_nothrow_move_constructible_test.cpp
==============================================================================
--- trunk/libs/type_traits/test/is_nothrow_move_constructible_test.cpp	(original)
+++ trunk/libs/type_traits/test/is_nothrow_move_constructible_test.cpp	2013-03-08 10:52:46 EST (Fri, 08 Mar 2013)
@@ -200,6 +200,10 @@
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<nothrow_assign_UDT>::value, false);
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<nothrow_construct_UDT>::value, false);
 
+#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_NOEXCEPT)
+BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<nothrow_move_UDT>::value, true);
+#endif
+
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::is_nothrow_move_constructible<test_abc1>::value, false);
 
 TT_TEST_END
Modified: trunk/libs/type_traits/test/test.hpp
==============================================================================
--- trunk/libs/type_traits/test/test.hpp	(original)
+++ trunk/libs/type_traits/test/test.hpp	2013-03-08 10:52:46 EST (Fri, 08 Mar 2013)
@@ -276,6 +276,18 @@
    { return true; }
 };
 
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
+struct nothrow_move_UDT
+{
+   nothrow_move_UDT();
+   nothrow_move_UDT(nothrow_move_UDT&&) throw();
+   nothrow_move_UDT& operator=(nothrow_move_UDT&&) throw();
+   bool operator==(const nothrow_move_UDT&)const
+   { return true; }
+};
+#endif
+
+
 struct nothrow_construct_UDT
 {
    nothrow_construct_UDT()throw();