]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/thread/test/threads/thread/constr/move_pass.cpp
1 //===----------------------------------------------------------------------===//
3 // The LLVM Compiler Infrastructure
5 // This file is dual licensed under the MIT and the University of Illinois Open
6 // Source Licenses. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
9 // Copyright (C) 2011 Vicente J. Botet Escriba
11 // Distributed under the Boost Software License, Version 1.0. (See accompanying
12 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
14 // <boost/thread/thread.hpp>
18 // thread(thread&& t);
20 #include <boost/thread/thread_only.hpp>
23 #include <boost/detail/lightweight_test.hpp>
50 BOOST_TEST(alive_
== 1);
51 //BOOST_TEST(n_alive == 1);
55 void operator()(int i
, double j
)
57 BOOST_TEST(alive_
== 1);
58 std::cout
<< __FILE__
<< ":" << __LINE__
<<" " << n_alive
<< std::endl
;
59 //BOOST_TEST(n_alive == 1);
67 bool G::op_run
= false;
69 boost::thread
make_thread() {
70 return boost::thread(G(), 5, 5.5);
76 //BOOST_TEST(G::n_alive == 0);
77 BOOST_TEST(!G::op_run
);
78 boost::thread
t0((G()));
79 boost::thread::id id
= t0
.get_id();
80 boost::thread
t1((boost::move(t0
)));
81 BOOST_TEST(t1
.get_id() == id
);
82 BOOST_TEST(t0
.get_id() == boost::thread::id());
84 BOOST_TEST(G::op_run
);
86 //BOOST_TEST(G::n_alive == 0);
88 boost::thread
t1((BOOST_THREAD_MAKE_RV_REF(make_thread())));
90 BOOST_TEST(G::op_run
);
92 //BOOST_TEST(G::n_alive == 0);
93 return boost::report_errors();