2.4 Item and Copy Functions [ToC] [Index]     [Skip Back] [Skip Fwd]     [Prev] [Up] [Next]

Besides tbl_comparison_func, there are two kinds of functions used in libavl to manipulate item data:

5. <Table function types 3> +=
typedef void tbl_item_func (void *tbl_item, void *tbl_param);
typedef void *tbl_copy_func (void *tbl_item, void *tbl_param);

Both of these function types receive a table item as their first argument tbl_item and the tbl_param associated with the table as their second argument. This tbl_param is the same one passed as the third argument to tbl_comparison_func. libavl will never pass a null pointer as tbl_item to either kind of function.

A tbl_item_func performs some kind of action on tbl_item. The particular action that it should perform depends on the context in which it is used and the needs of the calling program.

A tbl_copy_func creates and returns a new copy of tbl_item. If copying fails, then it returns a null pointer.