Revision control

++ // Copyright (C) 2016 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
++
++ /*! \class QFutureSynchronizer
++ \since 4.4
++ \inmodule QtCore
++
++ \brief The QFutureSynchronizer class is a convenience class that simplifies
++ QFuture synchronization.
++
++ \ingroup thread
++
++ QFutureSynchronizer is a template class where the template parameter \a T
++ specifies the result type of the QFuture objects being synchronized.
++ QFutureSynchronizer simplifies synchronization of one or more QFuture
++ objects. Futures are added using the addFuture() or setFuture() functions.
++ The futures() function returns a list of futures. Use clearFutures() to
++ remove all futures from the QFutureSynchronizer.
++
++ The waitForFinished() function waits for all futures to finish.
++ The destructor of QFutureSynchronizer calls waitForFinished(), providing
++ an easy way to ensure that all futures have finished before returning from
++ a function:
++
++ \snippet code/src_corelib_thread_qfuturesynchronizer.cpp 0
++
++ The behavior of waitForFinished() can be changed using the
++ setCancelOnWait() function. Calling setCancelOnWait(true) will cause
++ waitForFinished() to cancel all futures before waiting for them to finish.
++ You can query the status of the cancel-on-wait feature using the
++ cancelOnWait() function.
++
++ \sa QFuture, QFutureWatcher, {Qt Concurrent}
++ */
++
++ /*!
++ \fn template <typename T> QFutureSynchronizer<T>::QFutureSynchronizer()
++
++ Constructs a QFutureSynchronizer.
++ */
++
++ /*!
++ \fn template <typename T> QFutureSynchronizer<T>::QFutureSynchronizer(QFuture<T> future)
++
++ Constructs a QFutureSynchronizer and begins watching \a future by calling
++ addFuture().
++
++ \sa addFuture()
++ */
++
++ /*!
++ \fn template <typename T> QFutureSynchronizer<T>::~QFutureSynchronizer()
++
++ Calls waitForFinished() function to ensure that all futures have finished
++ before destroying this QFutureSynchronizer.
++
++ \sa waitForFinished()
++ */
++
++ /*!
++ \fn template <typename T> void QFutureSynchronizer<T>::setFuture(QFuture<T> future)
++
++ Sets \a future to be the only future managed by this QFutureSynchronizer.
++ This is a convenience function that calls waitForFinished(),
++ then clearFutures(), and finally passes \a future to addFuture().
++
++ \sa addFuture(), waitForFinished(), clearFutures()
++ */
++
++ /*!
++ \fn template <typename T> void QFutureSynchronizer<T>::addFuture(QFuture<T> future)
++
++ Adds \a future to the list of managed futures.
++
++ \sa futures()
++ */
++
++ /*!
++ \fn template <typename T> void QFutureSynchronizer<T>::waitForFinished()
++
++ Waits for all futures to finish. If cancelOnWait() returns \c true, each
++ future is canceled before waiting for them to finish.
++
++ \sa cancelOnWait(), setCancelOnWait()
++ */
++
++ /*!
++ \fn template <typename T> void QFutureSynchronizer<T>::clearFutures()
++
++ Removes all managed futures from this QFutureSynchronizer.
++
++ \sa addFuture(), setFuture()
++ */
++
++ /*!
++ \fn template <typename T> QList<QFuture<T> > QFutureSynchronizer<T>::futures() const
++
++ Returns a list of all managed futures.
++
++ \sa addFuture(), setFuture()
++ */
++
++ /*!
++ \fn template <typename T> void QFutureSynchronizer<T>::setCancelOnWait(bool enabled)
++
++ Enables or disables the cancel-on-wait feature based on the \a enabled
++ argument. If \a enabled is true, the waitForFinished() function will cancel
++ all futures before waiting for them to finish.
++
++ \sa waitForFinished()
++ */
++
++ /*!
++ \fn template <typename T> bool QFutureSynchronizer<T>::cancelOnWait() const
++
++ Returns \c true if the cancel-on-wait feature is enabled; otherwise returns
++ false. If cancel-on-wait is enabled, the waitForFinished() function will
++ cancel all futures before waiting for them to finish.
++
++ \sa waitForFinished()
++ */