12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #ifndef BOOST_THREAD_THREAD_GUARD_HPP
- #define BOOST_THREAD_THREAD_GUARD_HPP
- #include <boost/thread/detail/delete.hpp>
- #include <boost/thread/detail/move.hpp>
- #include <boost/thread/thread_functors.hpp>
- #include <boost/config/abi_prefix.hpp>
- namespace boost
- {
-
- template <class CallableThread = join_if_joinable>
- class thread_guard
- {
- thread& t_;
- public:
- BOOST_THREAD_NO_COPYABLE( thread_guard)
- explicit thread_guard(thread& t) :
- t_(t)
- {
- }
- ~thread_guard()
- {
- CallableThread on_destructor;
- on_destructor(t_);
- }
- };
- }
- #include <boost/config/abi_suffix.hpp>
- #endif
|