lqr_carver_list_foreach — perform operations on all LqrCarver
objects in an LqrCarverList
object
#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) ; |
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.