22 #include "common/make_unique.h" 24 #include "common/thread/resource_owning_thread.h" 37 using ThreadFunctionPtr = std::function<void()>;
42 ThreadFunctionPtr func;
46 CThread(ThreadFunctionPtr func, std::string name =
"")
47 : m_func(std::move(func))
53 std::unique_ptr<ThreadData> data = MakeUnique<ThreadData>();
55 m_thread = MakeUnique<CResourceOwningThread<ThreadData>>(Run, std::move(data), m_name);
61 if (!m_thread)
return;
69 static void Run(std::unique_ptr<ThreadData> data)
74 std::unique_ptr<CResourceOwningThread<ThreadData>> m_thread;
75 ThreadFunctionPtr m_func;
Wrapper for using SDL_thread with std::function.
Definition: thread.h:34