Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

TaskTree: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 4: Line 4:
TaskTree automatically manages a chain (or a tree) of asynchronous tasks of mixed types.
TaskTree automatically manages a chain (or a tree) of asynchronous tasks of mixed types.


The recipe on how to run the conglomerate of tasks is described in a declarative way in C++.
The recipe on how to run and manage the conglomerate of tasks is described in a declarative way in C++.


The recipes are enclosed in copyable value-type objects and may be run many times, or be part of more general recipes.
The recipes are enclosed in copyable value-type objects and may be run many times, or be part of more general recipes.
Line 12: Line 12:
The TaskTree's implementation is separated from the QtCreator specific code and may already serve as a general purpose solution outside of QtCreator.
The TaskTree's implementation is separated from the QtCreator specific code and may already serve as a general purpose solution outside of QtCreator.


== More info ==
== More Info ==
{| class="wikitable"
{| class="wikitable"
|-
|-
! Additional Info !! Link
! Content !! Link || Additional Info
|-
|-
| Documentation || https://doc-snapshots.qt.io/qtcreator-extending/taskingsolution-module.html
| Documentation || https://doc-snapshots.qt.io/qtcreator-extending/taskingsolution-module.html
Line 25: Line 25:
| Demo || https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/demo
| Demo || https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/demo
|-
|-
| ImageScaling || https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/imagescaling
| ImageScaling || https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/imagescaling || An alternative implementation of https://doc.qt.io/qt-6/qtconcurrent-imagescaling-example.html using TaskTree
|-
| ImageScaling diff || https://codereview.qt-project.org/c/qt-creator/qt-creator/+/481573 || Difference in the implementation of the ImageScaling example using QFuture::then() and TaskTree
|-
|-
| Suggestions || https://bugreports.qt.io/browse/QTCREATORBUG-28741
| Suggestions || https://bugreports.qt.io/browse/QTCREATORBUG-28741


|}
|}

Latest revision as of 14:31, 18 September 2023


TaskTree - generic solution for automatic management of asynchronous task (C++)

TaskTree automatically manages a chain (or a tree) of asynchronous tasks of mixed types.

The recipe on how to run and manage the conglomerate of tasks is described in a declarative way in C++.

The recipes are enclosed in copyable value-type objects and may be run many times, or be part of more general recipes.

The TaskTree is currently broadly used in QtCreator, for executing Build / Deploy configurations, Locator filter, Clang tool, Autotests, and much more...

The TaskTree's implementation is separated from the QtCreator specific code and may already serve as a general purpose solution outside of QtCreator.

More Info

Content Link Additional Info
Documentation https://doc-snapshots.qt.io/qtcreator-extending/taskingsolution-module.html
Sources https://github.com/qt-creator/qt-creator/tree/master/src/libs/solutions/tasking
Autotests https://github.com/qt-creator/qt-creator/tree/master/tests/auto/solutions/tasking
Demo https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/demo
ImageScaling https://github.com/qt-creator/qt-creator/tree/master/tests/manual/tasking/imagescaling An alternative implementation of https://doc.qt.io/qt-6/qtconcurrent-imagescaling-example.html using TaskTree
ImageScaling diff https://codereview.qt-project.org/c/qt-creator/qt-creator/+/481573 Difference in the implementation of the ImageScaling example using QFuture::then() and TaskTree
Suggestions https://bugreports.qt.io/browse/QTCREATORBUG-28741