diff options
Diffstat (limited to 'libs/thread/test/test_6174.cpp')
-rw-r--r-- | libs/thread/test/test_6174.cpp | 31 |
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 |