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)