40 #ifndef QTCONCURRENT_RUNBASE_H 41 #define QTCONCURRENT_RUNBASE_H 43 #include <QtConcurrent/qtconcurrent_global.h> 45 #ifndef QT_NO_CONCURRENT 47 #include <QtCore/qfuture.h> 48 #include <QtCore/qrunnable.h> 49 #include <QtCore/qthreadpool.h> 61 template <
class Normal,
class Vo
id>
68 template <
class Normal,
class Vo
id>
69 struct Type {
typedef Void
type; };
78 return start(QThreadPool::globalInstance());
83 this->setThreadPool(pool);
84 this->setRunnable(
this);
85 this->reportStarted();
86 QFuture<T> theFuture = this->
future();
91 void run()
override {}
92 virtual void runFunctor() = 0;
101 if (this->isCanceled()) {
102 this->reportFinished();
105 #ifndef QT_NO_EXCEPTIONS 109 #ifndef QT_NO_EXCEPTIONS 110 }
catch (QException &e) {
111 QFutureInterface<T>::reportException(e);
113 QFutureInterface<T>::reportException(QUnhandledException());
117 this->reportResult(
result);
118 this->reportFinished();
129 if (this->isCanceled()) {
130 this->reportFinished();
133 #ifndef QT_NO_EXCEPTIONS 137 #ifndef QT_NO_EXCEPTIONS 138 }
catch (QException &e) {
139 QFutureInterface<void>::reportException(e);
141 QFutureInterface<void>::reportException(QUnhandledException());
144 this->reportFinished();
154 #endif // QT_NO_CONCURRENT QThreadPool pool
Definition: src_concurrent_qtconcurrentrun.cpp:59
Definition: qtconcurrentrunbase.h:73
T result
Definition: qtconcurrentrunbase.h:120
Definition: qtconcurrentrunbase.h:62
QFuture< T > start(QThreadPool *pool)
Definition: qtconcurrentrunbase.h:81
Definition: qtconcurrentrunbase.h:59
void run() override
Definition: qtconcurrentrunbase.h:91
void run() override
Definition: qtconcurrentrunbase.h:127
Definition: qtconcurrentrunbase.h:96
Normal type
Definition: qtconcurrentrunbase.h:62
QString result
Definition: src_concurrent_qtconcurrentrun.cpp:79
QFuture< void > future
[5]
Definition: src_concurrent_qtconcurrentfilter.cpp:69
QFuture< T > start()
Definition: qtconcurrentrunbase.h:76
The QtConcurrent namespace provides high-level APIs that make it possible to write multi-threaded pro...
Definition: qtconcurrentexception.h:51
void run() override
Definition: qtconcurrentrunbase.h:99
Void type
Definition: qtconcurrentrunbase.h:69