diff options
Diffstat (limited to 'src/libs/utils/runextensions.h')
-rw-r--r-- | src/libs/utils/runextensions.h | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/src/libs/utils/runextensions.h b/src/libs/utils/runextensions.h index f81eb56699..6505b12a9c 100644 --- a/src/libs/utils/runextensions.h +++ b/src/libs/utils/runextensions.h @@ -476,113 +476,4 @@ runAsync(QThreadPool *pool, Function &&function, Args&&... args) std::forward<Args>(args)...); } - -/*! - Adds a handler for when a result is ready. - This creates a new QFutureWatcher. Do not use if you intend to react on multiple conditions - or create a QFutureWatcher already for other reasons. -*/ -template <typename R, typename T> -const QFuture<T> &onResultReady(const QFuture<T> &future, R *receiver, void(R::*member)(const T &)) -{ - auto watcher = new QFutureWatcher<T>(); - QObject::connect(watcher, &QFutureWatcherBase::finished, watcher, &QObject::deleteLater); - QObject::connect(watcher, &QFutureWatcherBase::resultReadyAt, receiver, - [receiver, member, watcher](int index) { - (receiver->*member)(watcher->future().resultAt(index)); - }); - watcher->setFuture(future); - return future; -} - -/*! - Adds a handler for when a result is ready. The guard object determines the lifetime of - the connection. - This creates a new QFutureWatcher. Do not use if you intend to react on multiple conditions - or create a QFutureWatcher already for other reasons. -*/ -template <typename T, typename Function> -const QFuture<T> &onResultReady(const QFuture<T> &future, QObject *guard, Function f) -{ - auto watcher = new QFutureWatcher<T>(); - QObject::connect(watcher, &QFutureWatcherBase::finished, watcher, &QObject::deleteLater); - QObject::connect(watcher, &QFutureWatcherBase::resultReadyAt, guard, [f, watcher](int index) { - f(watcher->future().resultAt(index)); - }); - watcher->setFuture(future); - return future; -} - -/*! - Adds a handler for when a result is ready. - This creates a new QFutureWatcher. Do not use if you intend to react on multiple conditions - or create a QFutureWatcher already for other reasons. -*/ -template <typename T, typename Function> -const QFuture<T> &onResultReady(const QFuture<T> &future, Function f) -{ - auto watcher = new QFutureWatcher<T>(); - QObject::connect(watcher, &QFutureWatcherBase::finished, watcher, &QObject::deleteLater); - QObject::connect(watcher, &QFutureWatcherBase::resultReadyAt, [f, watcher](int index) { - f(watcher->future().resultAt(index)); - }); - watcher->setFuture(future); - return future; -} - -/*! - Adds a handler for when the future is finished. - This creates a new QFutureWatcher. Do not use if you intend to react on multiple conditions - or create a QFutureWatcher already for other reasons. -*/ -template<typename R, typename T> -const QFuture<T> &onFinished(const QFuture<T> &future, - R *receiver, - void (R::*member)(const QFuture<T> &)) -{ - auto watcher = new QFutureWatcher<T>(); - QObject::connect(watcher, &QFutureWatcherBase::finished, watcher, &QObject::deleteLater); - QObject::connect(watcher, - &QFutureWatcherBase::finished, - receiver, - [receiver, member, watcher] { (receiver->*member)(watcher->future()); }); - watcher->setFuture(future); - return future; -} - -/*! - Adds a handler for when the future is finished. The guard object determines the lifetime of - the connection. - This creates a new QFutureWatcher. Do not use if you intend to react on multiple conditions - or create a QFutureWatcher already for other reasons. -*/ -template<typename T, typename Function> -const QFuture<T> &onFinished(const QFuture<T> &future, QObject *guard, Function f) -{ - auto watcher = new QFutureWatcher<T>(); - QObject::connect(watcher, &QFutureWatcherBase::finished, watcher, &QObject::deleteLater); - QObject::connect(watcher, &QFutureWatcherBase::finished, guard, [f, watcher] { - f(watcher->future()); - }); - watcher->setFuture(future); - return future; -} - -/*! - Adds a handler for when the future is finished. - This creates a new QFutureWatcher. Do not use if you intend to react on multiple conditions - or create a QFutureWatcher already for other reasons. -*/ -template<typename T, typename Function> -const QFuture<T> &onFinished(const QFuture<T> &future, Function f) -{ - auto watcher = new QFutureWatcher<T>(); - QObject::connect(watcher, &QFutureWatcherBase::finished, watcher, &QObject::deleteLater); - QObject::connect(watcher, &QFutureWatcherBase::finished, [f, watcher] { - f(watcher->future()); - }); - watcher->setFuture(future); - return future; -} - } // namespace Utils |