32 #ifndef VSMC_THREAD_THREAD_GUARD_HPP
33 #define VSMC_THREAD_THREAD_GUARD_HPP
41 template <
typename ThreadType>
55 thread_(cxx11::
move(thr)) {}
58 thread_(cxx11::
move(other.thread_)) {}
61 {thread_ =
cxx11::move(other.thread_);
return *
this;}
72 #endif // VSMC_THREAD_THREAD_GUARD_HPP
ThreadGuard(ThreadGuard &&other) noexcept
ThreadGuard(thread_type &&thr) noexcept
ThreadGuard & operator=(const ThreadGuard &)=delete
remove_reference< T >::type && move(T &&t) noexcept
Strictly scope-based thread ownership wrapper.
#define VSMC_NOEXCEPT
noexcept