PRECOMPILED_HEADER = ../corelib/global/qt_pch.h
SOURCES += \
- qfuture.cpp \
- qfutureinterface.cpp \
qfuturesynchronizer.cpp \
qfuturewatcher.cpp \
qtconcurrentfilter.cpp \
HEADERS += \
qtconcurrent_global.h \
- qfuture.h \
- qfutureinterface.h \
qfuturesynchronizer.h \
qfuturewatcher.h \
qtconcurrentcompilertest.h \
# private headers
HEADERS += \
- qfutureinterface_p.h \
qfuturewatcher_p.h
QMAKE_DOCS = $$PWD/doc/qtconcurrent.qdocconf
#include <QtConcurrent/qtconcurrent_global.h>
-#include <QtConcurrent/qfuture.h>
+#include <QtCore/qfuture.h>
#ifndef QT_NO_CONCURRENT
#include <QtConcurrent/qtconcurrent_global.h>
-#include <QtConcurrent/qfuture.h>
+#include <QtCore/qfuture.h>
#ifndef QT_NO_QFUTURE
#include <QtConcurrent/qtconcurrent_global.h>
-#include "qfutureinterface_p.h"
+#include <private/qfutureinterface_p.h>
#include <qlist.h>
#ifndef QT_NO_QFUTURE
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
-#ifdef QT_NO_CONCURRENT
-# define QT_NO_QFUTURE
-#endif
-
#ifndef QT_STATIC
# if defined(QT_BUILD_CONCURRENT_LIB)
# define Q_CONCURRENT_EXPORT Q_DECL_EXPORT
#ifndef QT_NO_CONCURRENT
-#include <QtConcurrent/qfuture.h>
+#include <QtCore/qfuture.h>
#include <QtCore/qrunnable.h>
#include <QtCore/qthreadpool.h>
#ifndef QT_NO_CONCURRENT
#include <QtCore/qthreadpool.h>
-#include <QtConcurrent/qfuture.h>
+#include <QtCore/qfuture.h>
#include <QtCore/qdebug.h>
#include <QtCore/qexception.h>
#include <QtCore/qwaitcondition.h>
#ifndef QFUTURE_H
#define QFUTURE_H
-#include <QtConcurrent/qtconcurrent_global.h>
+#include <QtCore/qglobal.h>
#ifndef QT_NO_QFUTURE
-#include <QtConcurrent/qfutureinterface.h>
+#include <QtCore/qfutureinterface.h>
#include <QtCore/qstring.h>
QT_BEGIN_HEADER
QFuture::constBegin() or QFuture::constEnd() before you start iterating.
Here's a typical loop that prints all the results available in a future:
- \snippet code/src_concurrent_qfuture.cpp 0
+ \snippet code/src_corelib_thread_qfuture.cpp 0
\sa QFutureIterator, QFuture
*/
list (i.e. before the first result). Here's how to iterate over all the
results sequentially:
- \snippet code/src_concurrent_qfuture.cpp 1
+ \snippet code/src_corelib_thread_qfuture.cpp 1
The next() function returns the next result (waiting for it to become
available, if necessary) from the future and advances the iterator. Unlike
Here's how to iterate over the elements in reverse order:
- \snippet code/src_concurrent_qfuture.cpp 2
+ \snippet code/src_corelib_thread_qfuture.cpp 2
If you want to find all occurrences of a particular value, use findNext()
or findPrevious() in a loop.
QT_END_NAMESPACE
-#endif // QT_NO_CONCURRENT
+#endif // QT_NO_QFUTURE
#ifndef QFUTUREINTERFACE_H
#define QFUTUREINTERFACE_H
-#include <QtConcurrent/qtconcurrent_global.h>
-
#include <QtCore/qrunnable.h>
#ifndef QT_NO_QFUTURE
class QFutureWatcherBase;
class QFutureWatcherBasePrivate;
-class Q_CONCURRENT_EXPORT QFutureInterfaceBase
+class Q_CORE_EXPORT QFutureInterfaceBase
{
public:
enum State {
QT_END_NAMESPACE
QT_END_HEADER
-#endif // QT_NO_CONCURRENT
+#endif // QT_NO_QFUTURE
#endif // QFUTUREINTERFACE_H
// We mean it.
//
-#include <QtConcurrent/qtconcurrent_global.h>
-
#include <QtCore/qelapsedtimer.h>
#include <QtCore/qcoreevent.h>
#include <QtCore/qlist.h>
virtual void callOutInterfaceDisconnected() = 0;
};
-class QFutureInterfaceBasePrivate
+class Q_CORE_EXPORT QFutureInterfaceBasePrivate // ### temporary
{
public:
QFutureInterfaceBasePrivate(QFutureInterfaceBase::State initialState);
thread/qatomic.h \
thread/qexception.h \
thread/qresultstore.h \
+ thread/qfuture.h \
+ thread/qfutureinterface.h \
thread/qbasicatomic.h \
thread/qgenericatomic.h \
thread/qoldbasicatomic.h
# private headers
HEADERS += thread/qmutex_p.h \
thread/qmutexpool_p.h \
+ thread/qfutureinterface_p.h \
thread/qorderedmutexlocker_p.h \
thread/qreadwritelock_p.h \
thread/qthread_p.h \
SOURCES += thread/qatomic.cpp \
thread/qexception.cpp \
thread/qresultstore.cpp \
+ thread/qfutureinterface.cpp \
thread/qmutex.cpp \
thread/qreadwritelock.cpp \
thread/qrunnable.cpp \
TEMPLATE=subdirs
SUBDIRS=\
- qfuture \
qfuturesynchronizer \
qfuturewatcher \
qtconcurrentfilter \
#include <QtTest>
#include <QtConcurrent/qfuturesynchronizer.h>
-#include <QtConcurrent/qfuture.h>
+#include <QtCore/qfuture.h>
class tst_QFutureSynchronizer : public QObject
{
CONFIG += testcase parallel_test
TARGET = tst_qfuturewatcher
-QT = core concurrent-private testlib concurrent
+QT = core core-private testlib concurrent
SOURCES = tst_qfuturewatcher.cpp
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
CONFIG += testcase parallel_test
TARGET = tst_qfuture
-QT = core concurrent-private testlib concurrent
+QT = core core-private testlib concurrent
SOURCES = tst_qfuture.cpp
DEFINES += QT_STRICT_ITERATORS
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
class DerivedException : public QException
{
public:
- void raise() const { throw *this; }
- DerivedException *clone() const { return new DerivedException(*this); }
+ void raise() const Q_DECL_OVERRIDE { throw *this; }
+ DerivedException *clone() const Q_DECL_OVERRIDE { return new DerivedException(*this); }
};
QFuture<void> createDerivedExceptionFuture()
qatomicint \
qatomicpointer \
qresultstore \
+ qfuture \
qmutex \
qmutexlocker \
qreadlocker \