summaryrefslogtreecommitdiff
path: root/libs/thread/test/test_6174.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/thread/test/test_6174.cpp')
-rw-r--r--libs/thread/test/test_6174.cpp31
1 files changed, 21 insertions, 10 deletions
diff --git a/libs/thread/test/test_6174.cpp b/libs/thread/test/test_6174.cpp
index b3c14ecacf..cd7ed4e764 100644
--- a/libs/thread/test/test_6174.cpp
+++ b/libs/thread/test/test_6174.cpp
@@ -1,3 +1,8 @@
+// Copyright (C) 2010 Vicente Botet
+//
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
#include <boost/thread.hpp>
@@ -5,26 +10,32 @@
#ifndef BOOST_NO_RVALUE_REFERENCES
struct MovableButNonCopyable {
-#ifndef BOOST_NO_DEFAULTED_FUNCTIONS
- MovableButNonCopyable() = default;
+#if ! defined BOOST_NO_DELETED_FUNCTIONS
MovableButNonCopyable(MovableButNonCopyable const&) = delete;
MovableButNonCopyable& operator=(MovableButNonCopyable const&) = delete;
- MovableButNonCopyable(MovableButNonCopyable&&) = default;
- MovableButNonCopyable& operator=(MovableButNonCopyable&&) = default;
#else
- MovableButNonCopyable() {};
- MovableButNonCopyable(MovableButNonCopyable&&) {};
- MovableButNonCopyable& operator=(MovableButNonCopyable&&) {
- return *this;
- };
private:
MovableButNonCopyable(MovableButNonCopyable const&);
MovableButNonCopyable& operator=(MovableButNonCopyable const&);
#endif
+public:
+ MovableButNonCopyable() {};
+ MovableButNonCopyable(MovableButNonCopyable&&) {};
+ MovableButNonCopyable& operator=(MovableButNonCopyable&&)
+ {
+ return *this;
+ };
};
+
+MovableButNonCopyable construct()
+{
+ return MovableButNonCopyable();
+}
+
int main()
{
- boost::packaged_task<MovableButNonCopyable>(MovableButNonCopyable());
+ boost::packaged_task<MovableButNonCopyable> pt(construct);
+ pt();
return 0;
}
#else