#include <cybergarage/util/clist.h>
#include <cybergarage/util/clog.h>
Functions | |
void | cg_list_header_init (CgList *list) |
void | cg_list_node_init (CgList *list) |
int | cg_list_size (CgList *headList) |
CgList * | cg_list_get (CgList *headList, int index) |
void | cg_list_insert (CgList *prevList, CgList *list) |
void | cg_list_add (CgList *headList, CgList *list) |
void | cg_list_remove (CgList *list) |
CgList * | cg_list_prev_circular (CgList *list) |
CgList * | cg_list_prev (CgList *list) |
CgList * | cg_list_next_circular (CgList *list) |
CgList * | cg_list_next (CgList *list) |
void | cg_list_clear (CgList *headList, CG_LIST_DESTRUCTORFUNC destructorFunc) |
There might be a bug in this function.
void cg_list_clear | ( | CgList * | headList, | |
CG_LIST_DESTRUCTORFUNC | destructorFunc | |||
) |
Clear the list and delete all of its contents with CG_LIST_DESTRUCTORFUNC
headList | List header | |
destructorFunc | Function pointer that clears the contents of individual nodes |
Get an item from the list by the item's index
headList | List header | |
index | The index of the item to get |
void cg_list_header_init | ( | CgList * | list | ) |
Initialize a list node to act as the first node
list | List node |
Insert a list node or a complete list structure after the given node
prevList | Insert after this node | |
list | List node or list structure to insert |
Get the next node. Returns NULL if end has been reached.
list | Current node |
Get the next node. Wrap around if the end has been reached.
list | Current node |
void cg_list_node_init | ( | CgList * | list | ) |
Initialize a list node to act as a regular node, part of a list.
list | List node |
Get the previous node. Returns NULL if beginning has been reached
list | Current node |
Get the previous node. Wrap around if the beginning has been reached.
list | Current node |
void cg_list_remove | ( | CgList * | list | ) |
Remove a node from a list. Does not free any memory, but only removes the next and previous link associations regarding the given node.
list | List node to remove |
int cg_list_size | ( | CgList * | headList | ) |
Get the number of nodes in the current list structure. Counts forwards from the given node, so if you want to get the complete size, give a header node as the parameter.
headList | List header |