Move QFuture from QtConcurrent to QtCore
authorMarc Mutz <marc.mutz@kdab.com>
Mon, 27 Aug 2012 16:33:55 +0000 (18:33 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Fri, 28 Sep 2012 21:50:10 +0000 (23:50 +0200)
This class belongs to QThreadPool/QRunnable more than to QtConcurrent, so
move to QtCore, where QThreadPool awaits it.

Change-Id: Ibf20288a986593bf779453427c2dae8db1e1423a
Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
21 files changed:
src/concurrent/concurrent.pro
src/concurrent/qfuturesynchronizer.h
src/concurrent/qfuturewatcher.h
src/concurrent/qfuturewatcher_p.h
src/concurrent/qtconcurrent_global.h
src/concurrent/qtconcurrentrunbase.h
src/concurrent/qtconcurrentthreadengine.h
src/corelib/doc/snippets/code/src_corelib_thread_qfuture.cpp [moved from src/concurrent/doc/snippets/code/src_concurrent_qfuture.cpp with 100% similarity]
src/corelib/thread/qfuture.h [moved from src/concurrent/qfuture.h with 99% similarity]
src/corelib/thread/qfuture.qdoc [moved from src/concurrent/qfuture.cpp with 99% similarity]
src/corelib/thread/qfutureinterface.cpp [moved from src/concurrent/qfutureinterface.cpp with 99% similarity]
src/corelib/thread/qfutureinterface.h [moved from src/concurrent/qfutureinterface.h with 98% similarity]
src/corelib/thread/qfutureinterface_p.h [moved from src/concurrent/qfutureinterface_p.h with 98% similarity]
src/corelib/thread/thread.pri
tests/auto/concurrent/concurrent.pro
tests/auto/concurrent/qfuturesynchronizer/tst_qfuturesynchronizer.cpp
tests/auto/concurrent/qfuturewatcher/qfuturewatcher.pro
tests/auto/corelib/thread/qfuture/.gitignore [moved from tests/auto/concurrent/qfuture/.gitignore with 100% similarity]
tests/auto/corelib/thread/qfuture/qfuture.pro [moved from tests/auto/concurrent/qfuture/qfuture.pro with 76% similarity]
tests/auto/corelib/thread/qfuture/tst_qfuture.cpp [moved from tests/auto/concurrent/qfuture/tst_qfuture.cpp with 99% similarity]
tests/auto/corelib/thread/thread.pro

index d21dff9..8fdd6d8 100644 (file)
@@ -12,8 +12,6 @@ load(qt_module)
 PRECOMPILED_HEADER = ../corelib/global/qt_pch.h
 
 SOURCES += \
-        qfuture.cpp \
-        qfutureinterface.cpp \
         qfuturesynchronizer.cpp \
         qfuturewatcher.cpp \
         qtconcurrentfilter.cpp \
@@ -23,8 +21,6 @@ SOURCES += \
 
 HEADERS += \
         qtconcurrent_global.h \
-        qfuture.h \
-        qfutureinterface.h \
         qfuturesynchronizer.h \
         qfuturewatcher.h \
         qtconcurrentcompilertest.h \
@@ -44,7 +40,6 @@ HEADERS += \
 
 # private headers
 HEADERS += \
-        qfutureinterface_p.h \
         qfuturewatcher_p.h
 
 QMAKE_DOCS = $$PWD/doc/qtconcurrent.qdocconf
index 9e003c0..b82e968 100644 (file)
@@ -44,7 +44,7 @@
 
 #include <QtConcurrent/qtconcurrent_global.h>
 
-#include <QtConcurrent/qfuture.h>
+#include <QtCore/qfuture.h>
 
 #ifndef QT_NO_CONCURRENT
 
index 4cee31b..a08f418 100644 (file)
@@ -44,7 +44,7 @@
 
 #include <QtConcurrent/qtconcurrent_global.h>
 
-#include <QtConcurrent/qfuture.h>
+#include <QtCore/qfuture.h>
 
 #ifndef QT_NO_QFUTURE
 
index 2092084..23d9472 100644 (file)
@@ -55,7 +55,7 @@
 
 #include <QtConcurrent/qtconcurrent_global.h>
 
-#include "qfutureinterface_p.h"
+#include <private/qfutureinterface_p.h>
 #include <qlist.h>
 
 #ifndef QT_NO_QFUTURE
index 54e70b6..464aa88 100644 (file)
 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
index 897345f..6c67338 100644 (file)
@@ -46,7 +46,7 @@
 
 #ifndef QT_NO_CONCURRENT
 
-#include <QtConcurrent/qfuture.h>
+#include <QtCore/qfuture.h>
 #include <QtCore/qrunnable.h>
 #include <QtCore/qthreadpool.h>
 
index 2a51875..ee3f7e6 100644 (file)
@@ -47,7 +47,7 @@
 #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>
similarity index 99%
rename from src/concurrent/qfuture.h
rename to src/corelib/thread/qfuture.h
index 3a9fd64..8b16f30 100644 (file)
 #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
similarity index 99%
rename from src/concurrent/qfuture.cpp
rename to src/corelib/thread/qfuture.qdoc
index 0316366..91414a0 100644 (file)
     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.
similarity index 99%
rename from src/concurrent/qfutureinterface.cpp
rename to src/corelib/thread/qfutureinterface.cpp
index 2c33418..ce9eb14 100644 (file)
@@ -562,4 +562,4 @@ void QFutureInterfaceBasePrivate::setState(QFutureInterfaceBase::State newState)
 
 QT_END_NAMESPACE
 
-#endif // QT_NO_CONCURRENT
+#endif // QT_NO_QFUTURE
similarity index 98%
rename from src/concurrent/qfutureinterface.h
rename to src/corelib/thread/qfutureinterface.h
index e9d8d37..b7bf779 100644 (file)
@@ -42,8 +42,6 @@
 #ifndef QFUTUREINTERFACE_H
 #define QFUTUREINTERFACE_H
 
-#include <QtConcurrent/qtconcurrent_global.h>
-
 #include <QtCore/qrunnable.h>
 
 #ifndef QT_NO_QFUTURE
@@ -61,7 +59,7 @@ class QFutureInterfaceBasePrivate;
 class QFutureWatcherBase;
 class QFutureWatcherBasePrivate;
 
-class Q_CONCURRENT_EXPORT QFutureInterfaceBase
+class Q_CORE_EXPORT QFutureInterfaceBase
 {
 public:
     enum State {
@@ -308,6 +306,6 @@ public:
 QT_END_NAMESPACE
 QT_END_HEADER
 
-#endif // QT_NO_CONCURRENT
+#endif // QT_NO_QFUTURE
 
 #endif // QFUTUREINTERFACE_H
similarity index 98%
rename from src/concurrent/qfutureinterface_p.h
rename to src/corelib/thread/qfutureinterface_p.h
index 7fd2ea4..4498cdf 100644 (file)
@@ -53,8 +53,6 @@
 // We mean it.
 //
 
-#include <QtConcurrent/qtconcurrent_global.h>
-
 #include <QtCore/qelapsedtimer.h>
 #include <QtCore/qcoreevent.h>
 #include <QtCore/qlist.h>
@@ -126,7 +124,7 @@ public:
     virtual void callOutInterfaceDisconnected() = 0;
 };
 
-class QFutureInterfaceBasePrivate
+class Q_CORE_EXPORT QFutureInterfaceBasePrivate // ### temporary
 {
 public:
     QFutureInterfaceBasePrivate(QFutureInterfaceBase::State initialState);
index d9468cc..1accffc 100644 (file)
@@ -12,6 +12,8 @@ HEADERS += thread/qmutex.h \
            thread/qatomic.h \
            thread/qexception.h \
            thread/qresultstore.h \
+           thread/qfuture.h \
+           thread/qfutureinterface.h \
            thread/qbasicatomic.h \
            thread/qgenericatomic.h \
            thread/qoldbasicatomic.h
@@ -19,6 +21,7 @@ HEADERS += thread/qmutex.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 \
@@ -27,6 +30,7 @@ HEADERS += thread/qmutex_p.h \
 SOURCES += thread/qatomic.cpp \
            thread/qexception.cpp \
            thread/qresultstore.cpp \
+           thread/qfutureinterface.cpp \
            thread/qmutex.cpp \
            thread/qreadwritelock.cpp \
            thread/qrunnable.cpp \
index c87ae9e..80d19d3 100644 (file)
@@ -1,6 +1,5 @@
 TEMPLATE=subdirs
 SUBDIRS=\
-   qfuture \
    qfuturesynchronizer \
    qfuturewatcher \
    qtconcurrentfilter \
index dbf957c..5d643a4 100644 (file)
@@ -42,7 +42,7 @@
 #include <QtTest>
 
 #include <QtConcurrent/qfuturesynchronizer.h>
-#include <QtConcurrent/qfuture.h>
+#include <QtCore/qfuture.h>
 
 class tst_QFutureSynchronizer : public QObject
 {
index fbe5776..17c0363 100644 (file)
@@ -1,5 +1,5 @@
 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
similarity index 76%
rename from tests/auto/concurrent/qfuture/qfuture.pro
rename to tests/auto/corelib/thread/qfuture/qfuture.pro
index 794bcfd..36853de 100644 (file)
@@ -1,6 +1,6 @@
 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
@@ -1297,8 +1297,8 @@ QFuture<int> createExceptionResultFuture()
 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()
index 8f063ee..0d3f442 100644 (file)
@@ -3,6 +3,7 @@ SUBDIRS=\
     qatomicint \
     qatomicpointer \
     qresultstore \
+    qfuture \
     qmutex \
     qmutexlocker \
     qreadlocker \