From edf1a5706eebb6f2df14c5f524c7261f88d6cd75 Mon Sep 17 00:00:00 2001 From: Sze Howe Koh Date: Sun, 15 Sep 2013 09:23:23 +0800 Subject: Doc: Remove duplicated Qt Concurrent overview - The "Concurrent Programming" page is an exact duplicate of the Qt Concurrent module landing page. - The "qtconcurrent intro" target is not referenced anywhere. Change-Id: Ice9b4360783013fe972258ca54a0004be43b8766 Reviewed-by: Jerome Pasion --- src/corelib/doc/src/threads.qdoc | 108 +-------------------------------------- 1 file changed, 2 insertions(+), 106 deletions(-) (limited to 'src/corelib/doc/src/threads.qdoc') diff --git a/src/corelib/doc/src/threads.qdoc b/src/corelib/doc/src/threads.qdoc index 27aca86406..1a31aa7815 100644 --- a/src/corelib/doc/src/threads.qdoc +++ b/src/corelib/doc/src/threads.qdoc @@ -63,7 +63,6 @@ \li \l{Synchronizing Threads} \li \l{Reentrancy and Thread-Safety} \li \l{Threads and QObjects} - \li \l{Concurrent Programming} \li \l{Thread-Support in Qt Modules} \endlist @@ -449,7 +448,7 @@ \previouspage Reentrancy and Thread Safety \contentspage Thread Support in Qt - \nextpage Concurrent Programming + \nextpage Thread-Support in Qt Modules QThread inherits QObject. It emits signals to indicate that the thread started or finished executing, and provides a few slots as @@ -645,114 +644,11 @@ a TCP server asynchronously. */ -/*! - \page threads-qtconcurrent.html - \title Concurrent Programming - - \previouspage Threads and QObjects - \contentspage Thread Support in Qt - \nextpage Thread-Support in Qt Modules - - \target qtconcurrent intro - - The QtConcurrent namespace provides high-level APIs that make it - possible to write multi-threaded programs without using low-level - threading primitives such as mutexes, read-write locks, wait - conditions, or semaphores. Programs written with QtConcurrent - automatically adjust the number of threads used according to the - number of processor cores available. This means that applications - written today will continue to scale when deployed on multi-core - systems in the future. - - QtConcurrent includes functional programming style APIs for - parallel list processing, including a MapReduce and FilterReduce - implementation for shared-memory (non-distributed) systems, and - classes for managing asynchronous computations in GUI - applications: - - \list - - \li QtConcurrent::map() applies a function to every item in a container, - modifying the items in-place. - - \li QtConcurrent::mapped() is like map(), except that it returns a new - container with the modifications. - - \li QtConcurrent::mappedReduced() is like mapped(), except that the - modified results are reduced or folded into a single result. - - \li QtConcurrent::filter() removes all items from a container based on the - result of a filter function. - - \li QtConcurrent::filtered() is like filter(), except that it returns a new - container with the filtered results. - - \li QtConcurrent::filteredReduced() is like filtered(), except that the - filtered results are reduced or folded into a single result. - - \li QtConcurrent::run() runs a function in another thread. - - \li QFuture represents the result of an asynchronous computation. - - \li QFutureIterator allows iterating through results available via QFuture. - - \li QFutureWatcher allows monitoring a QFuture using signals-and-slots. - - \li QFutureSynchronizer is a convenience class that automatically - synchronizes several QFutures. - - \endlist - - Qt Concurrent supports several STL-compatible container and iterator types, - but works best with Qt containers that have random-access iterators, such as - QList or QVector. The map and filter functions accept both containers and begin/end iterators. - - STL Iterator support overview: - - \table - \header - \li Iterator Type - \li Example classes - \li Support status - \row - \li Input Iterator - \li - \li Not Supported - \row - \li Output Iterator - \li - \li Not Supported - \row - \li Forward Iterator - \li std::slist - \li Supported - \row - \li Bidirectional Iterator - \li QLinkedList, std::list - \li Supported - \row - \li Random Access Iterator - \li QList, QVector, std::vector - \li Supported and Recommended - \endtable - - Random access iterators can be faster in cases where Qt Concurrent is iterating - over a large number of lightweight items, since they allow skipping to any point - in the container. In addition, using random access iterators allows Qt Concurrent - to provide progress information trough QFuture::progressValue() and QFutureWatcher:: - progressValueChanged(). - - The non in-place modifying functions such as mapped() and filtered() makes a - copy of the container when called. If you are using STL containers this copy operation - might take some time, in this case we recommend specifying the begin and end iterators - for the container instead. -*/ - /*! \page threads-modules.html \title Thread-Support in Qt Modules - \previouspage Concurrent Programming + \previouspage Threads and QObjects \contentspage Thread Support in Qt \section1 Threads and the SQL Module -- cgit v1.2.3