26 QThread::QualityOfService
QOS_ = QThread::QualityOfService::Eco;
45 template<
typename T,
typename Self>
56 template<
typename... Args>
57 requires std::constructible_from<T, Args&&...> || std::constructible_from<T, Args&&..., Self&>
63 template<
typename... Args>
64 requires std::constructible_from<T, Args&&..., Self&>
66 :
WorkerThread { config, std::forward<Args> (args)..., static_cast<Self&> (*this) }
70 template<
typename... Args>
71 requires std::constructible_from<T, Args&&...>
74 ,
Worker_ { std::forward<Args> (args)... }
81 QMetaObject::invokeMethod (&
Worker_,
82 [
this, thread = thread ()] {
Worker_.moveToThread (thread); },
83 Qt::BlockingQueuedConnection);
86 template<
typename F,
typename... Args,
typename R = std::invoke_result_t<F, T&, Args...>>
~WorkerThreadBase() override
WorkerThreadBase(const Config &config)
WorkerThread(Args &&... args)
WorkerThread & operator=(const WorkerThread &thread)=delete
ContextTask< R > Run(F &&f, Args &&... args)
WorkerThread(WorkerThread &&thread)=delete
WorkerThread(const WorkerThread &thread)=delete
WorkerThread(const Config &config, Args &&... args)
auto MetaMethod(Ctx &ctx, F &&method, Args &&... args)
Task< R, ContextExtensions > ContextTask
QThread::QualityOfService QOS_
QAnyStringView ThreadName_
QThread::Priority Priority_