<QForeach> | Qt Core | Qt 6.11.0
Description: Helper macros for performing for-loops.

- Qt 6.11
- Qt Core
- <QForeach>
- Qt 6.11.0 Reference Documentation

# <QForeach>

Helper macros for performing for-loops. More...

Header: | `#include <QForeach>`

## Macros

| Q_FOREACH(variable, container)
| Q_FOREVER
| foreach(variable, container)
| forever

## Detailed Description

## Macro Documentation

### Q_FOREACH(variable, container)

Same as foreach(variable, container).

This macro is available even when `no_keywords` is specified using the `.pro` file's `CONFIG` variable.

Note: Since Qt 5.7, the use of this macro is discouraged. Use C++11 range-based `for`, possibly with `std::as_const()`, as needed.

### Q_FOREVER

Same as forever.

This macro is available even when `no_keywords` is specified using the `.pro` file's `CONFIG` variable.

See also foreach().

### foreach(variable, container)

This macro is used to implement Qt's `foreach` loop. The variable parameter is a variable name or variable definition; the container parameter is a Qt container whose value type corresponds to the type of the variable. See The foreach Keyword for details.

If you're worried about namespace pollution, you can disable this macro by adding the following line to your `.pro` file:

     CONFIG += no_keywords

Note: Since Qt 5.7, the use of this macro is discouraged. Use C++11 range-based `for`, possibly with `std::as_const()`, as needed.

### forever

This macro is provided for convenience for writing infinite loops.

Example:

     forever {
         // ...
     }

It is equivalent to `for (;;)`.

If you're worried about namespace pollution, you can disable this macro by adding the following line to your `.pro` file:

     CONFIG += no_keywords

If using other build systems, you can add `QT_NO_KEYWORDS` to the list of pre-defined macros.

See also Q_FOREVER.