Qt TaskTree | Extending Qt Creator Manual
Description: Contains a general purpose library for asynchronous task execution.

- Extending Qt Creator Manual
- Qt TaskTree
- Extending Qt Creator Manual 19.0.0

# Qt TaskTree

Qt TaskTree provides a declarative way to compose and execute asynchronous task workflows with proper error handling and execution policies.

## Getting started

Qt TaskTree allows you to create complex task hierarchies with different execution policies, parallel/sequential execution, and proper error handling.

Key concepts:

- Recipes - Declarative descriptions of task workflows.
- Groups - Containers that define execution policies for child tasks.
- Storage - Thread-local storage system for sharing data between tasks.
- Iterators - Support for loops and repetitive task execution.

## Task adapters

The module includes several built-in task adapters for common operations:

- QProcessTask - Execute external processes.
- QThreadFunctionTask - Run functions in separate threads.
- QNetworkReplyWrapperTask - Network operations.
- QTcpSocketWrapperTask - TCP socket operations.
- QBarrierTask - Synchronization primitives.
- QTimeoutTask - Timer-based delays.

## Workflow Policies

Groups support different workflow policies for handling task results:

- StopOnError - Stop execution on first error (default).
- ContinueOnError - Continue execution despite errors.
- StopOnSuccess - Stop on first successful task.
- ContinueOnSuccess - Continue despite successful tasks.
- StopOnSuccessOrError - Stop on first completed task.
- FinishAllAndSuccess - Run all tasks, report success.
- FinishAllAndError - Run all tasks, report error.

## Licenses

The Qt TaskTree module is available under commercial licenses from The Qt Company. In addition, it is available under free software licenses: The GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.