summaryrefslogtreecommitdiffstats
path: root/src/concurrent/qtconcurrentrun.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Doc: Document the specific headers for the Qt Concurrent moduleAlexei Cazacov2025-09-091-0/+12
| | | | | | | | | | | This commit makes the Image Scaling example use the optimized header and updates documentation to include optimized header inclusion for QtConcurrent functions. Fixes: QTBUG-114663 Pick-to: 6.10 6.9 6.8 Change-Id: I50e4137ea3bc22bf88a3c9e4856043ba3d02f06e Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
* Doc: Fix QtConcurrent::run member function parameter order documentationDheerendra Purohit2025-06-131-4/+5
| | | | | | | | | | | Updated the description to match Qt 6 behavior, clarifying that the instance argument now follows the member function pointer. Fixes: QTBUG-113401 Pick-to: 6.10 6.9 6.8 Change-Id: I6cb9c63718790eda153bc5202ed4eb1d23f032bc Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
* QtConcurrent: mark as security-significantIvan Solovev2025-05-281-0/+1
| | | | | | | | | | | | | | | | | The QtConcurrent module applies user-provided map-, filter-, and reduce- functions (or their combinations) to user-provided data. It does not make any assumptions about the provided functions and data, apart from input/return type validation. It also does not parse the provided data and does not have any way to sanitize it. Mark all the source and header files in the module with the default security-significant score to confirm that the code was reviewed. QUIP: 23 Fixes: QTBUG-135179 Pick-to: 6.9 6.8 Change-Id: I2c1b315b837111627c2f0ce6e2ade704415972e2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Doc: Fix \fn template arguments for Qt ConcurrentTopi Reinio2023-11-181-2/+2
| | | | | | | | | Upcoming changes to QDoc require accurate definition for template arguments in \fn commands. Task-number: QTBUG-118080 Change-Id: Ia905211d2b2bc5b49e5f9b50f2407544e939779d Reviewed-by: Luca Di Sera <luca.disera@qt.io>
* [docs] Link from QtConcurent::run() to QThreadPool::start(Callable&&)Marc Mutz2023-08-041-1/+5
| | | | | | | | | | | | | | | The latter is a better choice if you don't need the result QFuture. Describe the QThreadPool::start() overload in prose, since the signature changed in 6.6 from std::function<void()> to Callable auto&&. The chosen wording is compatible with both. Pick-to: 6.6 6.5 6.2 5.15 Fixes: QTBUG-111875 Change-Id: I9f67c2f7e4b221602bf1c35b72e5d38898a4f0c9 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QFuture: mention the work-stealing algorithm in the docsDennis Oberst2023-06-201-3/+2
| | | | | | | | | | | | | | | | | | A number of users have explored the behavior and complained about it. Lets add a \note explaining this. The function in charge is QThreadPool::stealAndRunRunnable(QRunnable *), which is a private function, exclusively used by: QFutureInterfaceBase::waitForResult() QFutureInterfaceBase::waitForFinished() also update the documentation to reflect these changes accordingly. Fixes: QTBUG-112351 Pick-to: 6.6 6.5 6.2 5.15 Change-Id: I839858cb449063d8af9bef64d2f35a6816a419b0 Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* Add \brief descriptions to QtConcurrent topicsSona Kurazyan2022-07-201-0/+1
| | | | | | | Fixes: QTBUG-104213 Pick-to: 6.4 6.3 6.2 Change-Id: Ib787546ef74133aca4b963a4341283147d2e8fb2 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Use SPDX license identifiersLucie Gérard2022-05-161-38/+2
| | | | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Remove mentions of QtConcurrent::runWithPromise from docsSona Kurazyan2022-02-111-9/+8
| | | | | | | | | | | | cf043a785ac9357e8f1283ea9e1496261af2b1a5 unified QtConcurrent::run() and QtConcurrent::runWithPromise(). Remove the last mentions of runWithPromise. Also did some minor cosmetic improvements. Pick-to: 6.3 Change-Id: Ie3b39600978ccfa4a009d3ff68567a348dc7b166 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Improve docs for Qt Concurrent run with promise modeSona Kurazyan2021-03-041-0/+9
| | | | | | | | | | | | For the readers that are new to QtConcurrent, it may be confusing that unlike the normal usage of QPromise, they don't have to call start() or finish() when using Qt Concurrent run with promise mode. Be more explicit about that. Pick-to: 6.1 Change-Id: I08df6c4ca41bec4120e208a6643ee20c7adf265c Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Document that QtConcurrent::run doesn't support overloaded functionsSona Kurazyan2020-12-231-0/+20
| | | | | | | | | | | | After improving QtConcurrent::run() to use parameter packs for the arguments (see c977e74afd18afff8729070f631e6b7a3f2887f5), calling overloaded functions is ambiguous. Updated the porting guide and the documentation to mention this and describe possible workarounds. Task-number: QTBUG-89648 Pick-to: 6.0 Change-Id: I4c1f996ae67bce8c13cc1f99f54240295db6ae1d Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* QtConcurrent: Integrate runWithPromise into runJarek Kobus2020-10-281-94/+54
| | | | | | Change-Id: I6eb95aa66ff847e8bb9aac348fded3a5d55015b6 Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* QtConcurrent: Add documentation for runWithPromise()Jarek Kobus2020-08-261-9/+150
| | | | | | Task-number: QTBUG-84702 Change-Id: Ic8233aeffbdbd1420bdbde7ad7d03f25cd438ea8 Reviewed-by: Paul Wicking <paul.wicking@qt.io>
* QtConcurrent::run: accept more then five function's argumentsVitaly Fanaskov2020-03-111-0/+8
| | | | | | | | | | | | | | [ChangeLog][Potentially Source-Incompatible Changes] QtConcurrent::run has the following signatures: run(Function &&f, Args &&...args) and run(QThreadPool *pool, Function &&f, Args &&...args). If f is a member pointer, the first argument of args should be an object for which that member is defined (or a reference, or a pointer to it). See the documentation for more details. Fixes: QTBUG-82383 Change-Id: I18f7fcfb2adbdd9f75b29c346bd3516304e32d31 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Doc: Correct documentation of QFuture::cancelPaul Wicking2019-06-111-8/+8
| | | | | | | | Fixes: QTBUG-76305 Change-Id: I192a7f0bc2c15e532bc6d51c7e9c39561ae3436c Reviewed-by: Topi Reiniö <topi.reinio@qt.io> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
* QtConcurrent: Unify license headersKai Koehne2019-01-291-1/+1
| | | | | Change-Id: I9492ca18805c9663d48820424557595b8bc7eaa0 Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
* doc: Fix all qdoc errors in QtConcurrentMartin Smith2017-12-081-0/+9
| | | | | | | | | | | | | These errors resulted from the improved parsing provided by clang, which required rethinking which elements of the QtConcurrent API should be visible to clangqdoc. The basic problem is that clang must see declarations for all types used by a type, or else it either gets lost and fails to parse a type correctly, or it simply refuses to include the type in its AST. Change-Id: Iaa699c287e67d1288fcb2d83a9dbbaf07521d0cc Reviewed-by: Martin Smith <martin.smith@qt.io>
* Doc: Replace std::bind() with lambdas in Qt ConcurrentSze Howe Koh2017-03-071-18/+2
| | | | | | | Lambda functions provide all the benefits of std::bind() plus more Change-Id: Iec30b20bb35ac0fae560435b323f80af2f2e5fce Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Updated license headersJani Heikkinen2016-01-151-14/+20
| | | | | | | | | | | From Qt 5.7 -> LGPL v2.1 isn't an option anymore, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new LGPL header instead of LGPL21 one (in those files which will be under LGPL v3) Change-Id: I046ec3e47b1876cd7b4b0353a576b352e3a946d9 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* Doc: Qt Concurrent: Link to essential usage informationTopi Reinio2015-04-071-0/+4
| | | | | | | | | | | | | | | | | | | | Functions under the QtConcurrent namespace used to be documented as header files, using the \headerfile command. These documents have been since converted to standard pages using the \page command, and the reference documentation for these functions now live in the namespace page only. However, the former pages contain useful usage information and code snippets, but they've not been linked to from anywhere. This change links to these pages from the module landing page, as well as from the function reference doc. Change-Id: Ia750d72d12503cec96ee2c9e202dd561e548cb24 Task-number: QTBUG-28977 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* QtConcurrent::run: allow to select the thread pool on which to run the taskMarc Mutz2014-08-051-2/+29
| | | | | | | | | | | | This is the second and last part of the forward-port of https://qt.gitorious.org/qt/qt/merge_requests/1281 [ChangeLog][QtConcurrent] run() now optionally takes as its first argument the QThreadPool to run the task on. Task-number: QTBUG-17220 Change-Id: I4b46eca6ef7de9cd34dac07e6d4b8ad830426b97 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Doc: Remove unofficial Qt Concurrent headersSze Howe Koh2013-10-301-9/+4
| | | | | | | | | | | | | | | <QtConcurrentRun>, <QtConcurrentMap>, and <QtConcurrentFilter> are not official headers. Developers should use <QtConcurrent> instead. As a side-effect, this patch also stops the function documentation from being duplicated (one copy in the QtConcurrent namespace page, one copy in the \headerfile pages) (For some reason, \brief doesn't work on standalone pages like these) Change-Id: I9482f014acf52ba734a3fa597cdcc5931fcd7ecf Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Doc: Update boost::bind()/std::tr1::bind() to std::bind()Sze Howe Koh2013-10-281-9/+6
| | | | | | | | | | boost::bind() became part of the C++11 standard with minor modifications. Present the standard version as the main one to use, but list the others as alternatives. Change-Id: If419d8d24c0925119d3b9f7ff76be44981351bc0 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Remove duplicated Qt Concurrent overviewSze Howe Koh2013-09-161-1/+1
| | | | | | | | | - 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 <jerome.pasion@digia.com>
* Whitespace cleanup: remove trailing whitespaceAxel Waggershauser2013-03-161-26/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | Remove all trailing whitespace from the following list of files: *.cpp *.h *.conf *.qdoc *.pro *.pri *.mm *.rc *.pl *.qps *.xpm *.txt *README excluding 3rdparty, test-data and auto generated code. Note A): the only non 3rdparty c++-files that still have trailing whitespace after this change are: * src/corelib/codecs/cp949codetbl_p.h * src/corelib/codecs/qjpunicode.cpp * src/corelib/codecs/qbig5codec.cpp * src/corelib/xml/qxmlstream_p.h * src/tools/qdoc/qmlparser/qqmljsgrammar.cpp * src/tools/uic/ui4.cpp * tests/auto/other/qtokenautomaton/tokenizers/* * tests/benchmarks/corelib/tools/qstring/data.cpp * util/lexgen/tokenizer.cpp Note B): in about 30 files some overlapping 'leading tab' and 'TAB character in non-leading whitespace' issues have been fixed to make the sanity bot happy. Plus some general ws-fixes here and there as asked for during review. Change-Id: Ia713113c34d82442d6ce4d93d8b1cf545075d11d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-24/+24
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* Doc: Modularize QtConcurrent documentation.Casper van Donderen2012-05-091-7/+7
| | | | | | | This change moves the snippets and images to the modularized directories. Change-Id: If52f69c0f8bb4d2df4ee46f5524a82047ec214de Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* Remove the usage of deprecated qdoc macros.Casper van Donderen2012-03-021-3/+3
| | | | | | | | | | | QDoc now has support for Doxygen style commands for italics, bold and list items. This change applies that change in QDoc to the actual documentation. Task-number: QTBUG-24578 Change-Id: I519bf9c29b14092e3ab6067612f42bf749eeedf5 Reviewed-by: Shane Kearns <shane.kearns@accenture.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Move QtConcurrent into its own moduleLars Knoll2012-02-051-0/+152
Task-number: QTBUG-20892 Change-Id: I614500aafb6428915509983608bbb0ade4e4f016 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>