- Qt 6.12
- Qt TaskTree
- C++ Classes
- Forever
- Qt 6.12.0 Reference Documentation

# QtTaskTree::Forever Class

class QtTaskTree::Forever

Infinite loop of subtasks. More...

Header: | `#include <qtasktree.h>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS TaskTree)` `target_link_libraries(mytarget PRIVATE Qt6::TaskTree)`
qmake: | `QT += tasktree`
Since: | Qt 6.11
Inherits: | QtTaskTree::ExecutableItem
Status: | Technology preview

This class is in technology preview and is subject to change.

- List of all members, including inherited members

Note: All functions in this class are reentrant.

## Public Functions

| Forever(const QtTaskTree::GroupItems &children)
| Forever(std::initializer_list<QtTaskTree::GroupItem> children)

## Detailed Description

The tasks passed to the constructor will repeat until some of them causes the body's workflow policy to stop executing. By default, the body will be repeated until some task finishes with an error.

Refer to Do documentation for more information about placing group handlers and Storage as a direct children of the Forever body.

See also For and ForeverIterator.

## Member Function Documentation

### `[explicit]` Forever::Forever(const QtTaskTree::GroupItems &children)

Constructs an infinite loop that executes children.

The following construction:

     const Group recipe = Forever {
         task1,
         task2
     };

is an equivalent to:

     const Group recipe = For (ForeverIterator()) >> Do {
         task1,
         task2
     };

### `[explicit]` Forever::Forever(std::initializer_list<QtTaskTree::GroupItem> children)

Constructs an infinite loop that executes children passed as initializer list.

This is an overloaded function.