`lqr_carver_list_foreach`
Prev | Carver objects | Next

## Name

lqr_carver_list_foreach — perform operations on all `LqrCarver` objects in an `LqrCarverList` object

## Synopsis

    #include <lqr.h>

`LqrRetVal lqr_carver_list_foreach(` | LqrCarverList* list,
| LqrCarverFunc func,
| LqrDataTok data`)`;

`LqrRetVal lqr_carver_list_foreach_recursive(` | LqrCarverList* list,
| LqrCarverFunc func,
| LqrDataTok data`)`;

## Description

The function `lqr_carver_list_foreach` can be used to apply the function `func` to all the `LqrCarver` objects listed in `list`. The parameter `data` is used to pass arguments to the function.

The `list` value should be obtained through the function `lqr_carver_list_start`(3). The order in the list will then follow the one in which carver objects were attached.

The function `func` is of type `LqrCarverFunc`, whose prototype is defined by:

    typedef LqrRetVal (*LqrCarverFunc) (LqrCarver *carver, LqrDataTok data);

The `data` argument is of type LqrDataTok, which is defined as a union with the following fields:

- `LqrCarver`* `carver`

- gint `integer`

- gpointer `data`

The function `lqr_carver_list_foreach_recursive` is equivelant to `lqr_carver_list_foreach`, but it works recursively if the `LqrCarver` objects in `list` have themselves other attached `LqrCarver` objects attached. In this case, the function `func` will be applied to each element of the list and to each element of the attached list recursively, before moving on to the next element.

## See also

LqrRetVal(3), `lqr_carver_attach`(3), `lqr_carver_list_start`(3), `lqr_carver_list_current`(3), `lqr_carver_list_next`(3)

Prev | Up | Next
`lqr_carver_list_next` | Home | Visibiliy maps