26 #ifndef MIR_TEST_AUTO_UNBLOCK_THREAD_H_ 27 #define MIR_TEST_AUTO_UNBLOCK_THREAD_H_ 41 template<
typename Callable,
typename... Args>
44 : thread{std::forward<Callable>(f), std::forward<Args>(args)...}
54 if (thread.joinable())
60 return thread.native_handle();
75 template<
typename Callable,
typename... Args>
79 :
AutoJoinThread{std::forward<Callable>(f), std::forward<Args>(args)...},
99 std::function<void(void)> unblock;
void stop()
Definition: auto_unblock_thread.h:91
AutoUnblockThread is a helper thread class that can gracefully shutdown at destruction time...
Definition: blob.h:26
void stop()
Definition: auto_unblock_thread.h:52
std::thread::native_handle_type native_handle()
Definition: auto_unblock_thread.h:58
Definition: auto_unblock_thread.h:70
AutoUnblockThread & operator=(AutoUnblockThread &&t)=default
AutoUnblockThread()=default
Definition: auto_unblock_thread.h:37
~AutoUnblockThread()
Definition: auto_unblock_thread.h:83
AutoJoinThread(Callable &&f, Args &&... args)
Definition: auto_unblock_thread.h:42
~AutoJoinThread()
Definition: auto_unblock_thread.h:47
AutoJoinThread & operator=(AutoJoinThread &&t)=default
AutoUnblockThread(std::function< void(void)> const &unblock, Callable &&f, Args &&... args)
Definition: auto_unblock_thread.h:76