diff options
Diffstat (limited to 'src/corelib/thread/qfuturesynchronizer.h')
-rw-r--r-- | src/corelib/thread/qfuturesynchronizer.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/corelib/thread/qfuturesynchronizer.h b/src/corelib/thread/qfuturesynchronizer.h index 2cf2ca1b76..a996362bfd 100644 --- a/src/corelib/thread/qfuturesynchronizer.h +++ b/src/corelib/thread/qfuturesynchronizer.h @@ -17,22 +17,23 @@ class QFutureSynchronizer Q_DISABLE_COPY(QFutureSynchronizer) public: - QFutureSynchronizer() : m_cancelOnWait(false) { } - explicit QFutureSynchronizer(const QFuture<T> &future) + Q_NODISCARD_CTOR QFutureSynchronizer() : m_cancelOnWait(false) { } + Q_NODISCARD_CTOR_X("Use future.waitForFinished() instead.") + explicit QFutureSynchronizer(QFuture<T> future) : m_cancelOnWait(false) - { addFuture(future); } + { addFuture(std::move(future)); } ~QFutureSynchronizer() { waitForFinished(); } - void setFuture(const QFuture<T> &future) + void setFuture(QFuture<T> future) { waitForFinished(); m_futures.clear(); - addFuture(future); + addFuture(std::move(future)); } - void addFuture(const QFuture<T> &future) + void addFuture(QFuture<T> future) { - m_futures.append(future); + m_futures.append(std::move(future)); } void waitForFinished() |