r6:Function:queue delete

From liblfds.org
Jump to: navigation, search

Source Files

/src/queue/queue_delete.c
/inc/liblfds.h

Prototype

void queue_delete( struct queue_state *qs,
                   void (*user_data_delete_function)(void *user_data, void *user_state),
                   void *user_state );

Parameters

struct queue_state *qs

A queue state as allocated by queue_new.

void (*user_data_delete_function)(void *user_data, void *user_state)

A callback function, which can be NULL. This function is called with the user data void pointer from each element before that element is deleted, giving the user an opportunity to delete any allocated state. The order of calling is oldest data first, e.g. the queue is being dequeued by the delete function.

void *user_state

This pointer is passed into the user_data_delete_function as its second argument, enabling the caller to pass state into the callback function.

Return Value

No return value.

Notes

This function deletes the queue. If there are any elements present in the queue at the time of deletion, the function loops, dequeuing an element and passing its user data void pointer to user_data_delete_function, until the queue is empty.

See Also