Go to the source code of this file.
Data Structures | |
struct | girara_tree_node_t |
struct | girara_tree_node_data_t |
struct | girara_list_t |
struct | girara_list_iterator_t |
Functions | |
girara_list_t * | girara_list_new (void) |
girara_list_t * | girara_list_new2 (girara_free_function_t gfree) |
girara_list_t * | girara_sorted_list_new (girara_compare_function_t cmp) |
girara_list_t * | girara_sorted_list_new2 (girara_compare_function_t cmp, girara_free_function_t gfree) |
void | girara_list_set_free_function (girara_list_t *list, girara_free_function_t gfree) |
void | girara_list_clear (girara_list_t *list) |
void | girara_list_free (girara_list_t *list) |
void | girara_list_append (girara_list_t *list, void *data) |
void | girara_list_prepend (girara_list_t *list, void *data) |
void | girara_list_remove (girara_list_t *list, void *data) |
void * | girara_list_nth (girara_list_t *list, size_t n) |
bool | girara_list_contains (girara_list_t *list, void *data) |
void * | girara_list_find (girara_list_t *list, girara_compare_function_t compare, const void *data) |
girara_list_iterator_t * | girara_list_iterator (girara_list_t *list) |
girara_list_iterator_t * | girara_list_iterator_next (girara_list_iterator_t *iter) |
bool | girara_list_iterator_has_next (girara_list_iterator_t *iter) |
bool | girara_list_iterator_is_valid (girara_list_iterator_t *iter) |
void * | girara_list_iterator_data (girara_list_iterator_t *iter) |
void | girara_list_iterator_set (girara_list_iterator_t *iter, void *data) |
void | girara_list_iterator_free (girara_list_iterator_t *iter) |
size_t | girara_list_size (girara_list_t *list) |
ssize_t | girara_list_position (girara_list_t *list, void *data) |
void | girara_list_sort (girara_list_t *list, girara_compare_function_t compare) |
void | girara_list_foreach (girara_list_t *list, girara_list_callback_t callback, void *data) |
girara_list_t * | girara_list_merge (girara_list_t *list, girara_list_t *other) |
girara_tree_node_t * | girara_node_new (void *data) |
void | girara_node_set_free_function (girara_tree_node_t *node, girara_free_function_t gfree) |
void | girara_node_free (girara_tree_node_t *node) |
void | girara_node_append (girara_tree_node_t *parent, girara_tree_node_t *child) |
girara_tree_node_t * | girara_node_append_data (girara_tree_node_t *parent, void *data) |
girara_tree_node_t * | girara_node_get_parent (girara_tree_node_t *node) |
girara_tree_node_t * | girara_node_get_root (girara_tree_node_t *node) |
girara_list_t * | girara_node_get_children (girara_tree_node_t *node) |
size_t | girara_node_get_num_children (girara_tree_node_t *node) |
void * | girara_node_get_data (girara_tree_node_t *node) |
void | girara_node_set_data (girara_tree_node_t *node, void *data) |
void girara_list_append | ( | girara_list_t * | list, |
void * | data | ||
) |
Append an element to the list.
list | The girara list object |
data | The element |
Definition at line 117 of file datastructures.c.
void girara_list_clear | ( | girara_list_t * | list | ) |
Remove all elements from a list.
list | The girara list object |
Definition at line 86 of file datastructures.c.
bool girara_list_contains | ( | girara_list_t * | list, |
void * | data | ||
) |
Checks if the list contains the given element
list | The girara list object |
data | The element |
Definition at line 172 of file datastructures.c.
void* girara_list_find | ( | girara_list_t * | list, |
girara_compare_function_t | compare, | ||
const void * | data | ||
) |
Find an element
list | The list |
compare | compare function |
data | data passed as the second argument to the compare function |
Definition at line 189 of file datastructures.c.
void girara_list_foreach | ( | girara_list_t * | list, |
girara_list_callback_t | callback, | ||
void * | data | ||
) |
Call function for each element in the list.
list | The list |
callback | The function to call. |
data | Passed to the callback as second argument. |
Definition at line 324 of file datastructures.c.
void girara_list_free | ( | girara_list_t * | list | ) |
Destroy list.
list | The girara list object |
Definition at line 106 of file datastructures.c.
girara_list_iterator_t* girara_list_iterator | ( | girara_list_t * | list | ) |
Create an iterator pointing at the start of list.
list | The girara list object |
Definition at line 206 of file datastructures.c.
void* girara_list_iterator_data | ( | girara_list_iterator_t * | iter | ) |
Get data from the element pointed to by the iterator.
iter | The list iterator |
Definition at line 250 of file datastructures.c.
void girara_list_iterator_free | ( | girara_list_iterator_t * | iter | ) |
Destroy the iterator.
iter | The list iterator |
Definition at line 270 of file datastructures.c.
bool girara_list_iterator_has_next | ( | girara_list_iterator_t * | iter | ) |
Check if iterator has next element.
iter | The list iterator |
Definition at line 238 of file datastructures.c.
bool girara_list_iterator_is_valid | ( | girara_list_iterator_t * | iter | ) |
Check if iterator is valid
iter | The list iterator |
Definition at line 244 of file datastructures.c.
girara_list_iterator_t* girara_list_iterator_next | ( | girara_list_iterator_t * | iter | ) |
Move iterator to next element.
iter | The list iterator |
Definition at line 222 of file datastructures.c.
void girara_list_iterator_set | ( | girara_list_iterator_t * | iter, |
void * | data | ||
) |
Set data from the element pointed to by the iterator.
iter | The list iterator |
data | Sets the list iterator to a specific element |
Definition at line 258 of file datastructures.c.
girara_list_t* girara_list_merge | ( | girara_list_t * | list, |
girara_list_t * | other | ||
) |
Merge a list into another one. Both lists need to have the same free function. If other has a source free function set it will be set to NULL as the elements then belong to list.
list | the target list |
other | the source list |
Definition at line 332 of file datastructures.c.
girara_list_t* girara_list_new | ( | void | ) |
Create a new list.
Definition at line 35 of file datastructures.c.
girara_list_t* girara_list_new2 | ( | girara_free_function_t | gfree | ) |
Create a new list.
gfree | Pointer to the free function |
Definition at line 43 of file datastructures.c.
void* girara_list_nth | ( | girara_list_t * | list, |
size_t | n | ||
) |
Returns nth entry
list | The girara list object |
n | Index of the entry |
Definition at line 160 of file datastructures.c.
ssize_t girara_list_position | ( | girara_list_t * | list, |
void * | data | ||
) |
Returns the position of the element in the list
list | The girara list object |
data | The element |
Definition at line 292 of file datastructures.c.
void girara_list_prepend | ( | girara_list_t * | list, |
void * | data | ||
) |
Prepend an element to the list.
list | The girara list object |
data | The element |
Definition at line 129 of file datastructures.c.
void girara_list_remove | ( | girara_list_t * | list, |
void * | data | ||
) |
Remove an element of the list
list | The girara list object |
data | The element |
Definition at line 141 of file datastructures.c.
void girara_list_set_free_function | ( | girara_list_t * | list, |
girara_free_function_t | gfree | ||
) |
Set the function which should be called if the stored data should be freed.
list | The girara list object |
gfree | Pointer to the free function |
Definition at line 79 of file datastructures.c.
size_t girara_list_size | ( | girara_list_t * | list | ) |
Get size of the list.
list | The girara list object |
Definition at line 280 of file datastructures.c.
void girara_list_sort | ( | girara_list_t * | list, |
girara_compare_function_t | compare | ||
) |
Sort a list
list | The list to sort |
compare | compare function |
Definition at line 313 of file datastructures.c.
void girara_node_append | ( | girara_tree_node_t * | parent, |
girara_tree_node_t * | child | ||
) |
Append a node to another node.
parent | The parent node |
child | The child node |
Definition at line 407 of file datastructures.c.
girara_tree_node_t* girara_node_append_data | ( | girara_tree_node_t * | parent, |
void * | data | ||
) |
Append data as new node to another node.
parent | The parent node |
data | The data of the node |
Definition at line 414 of file datastructures.c.
void girara_node_free | ( | girara_tree_node_t * | node | ) |
Free a node. This will remove the node from its' parent and will destroy all its' children.
node | The girara node object |
Definition at line 379 of file datastructures.c.
girara_list_t* girara_node_get_children | ( | girara_tree_node_t * | node | ) |
Get list of children.
node | The girara node object |
Definition at line 458 of file datastructures.c.
void* girara_node_get_data | ( | girara_tree_node_t * | node | ) |
Get data.
node | The girara node object |
Definition at line 483 of file datastructures.c.
size_t girara_node_get_num_children | ( | girara_tree_node_t * | node | ) |
Get number of children.
node | The girara node object |
Definition at line 475 of file datastructures.c.
girara_tree_node_t* girara_node_get_parent | ( | girara_tree_node_t * | node | ) |
Get parent node.
node | The girara node object |
Definition at line 426 of file datastructures.c.
girara_tree_node_t* girara_node_get_root | ( | girara_tree_node_t * | node | ) |
Get root node.
node | The girara node object |
Definition at line 441 of file datastructures.c.
girara_tree_node_t* girara_node_new | ( | void * | data | ) |
Create a new node.
data | Data of the new node |
Definition at line 353 of file datastructures.c.
void girara_node_set_data | ( | girara_tree_node_t * | node, |
void * | data | ||
) |
Set data.
node | The girara node object |
data | The new data of the object |
Definition at line 493 of file datastructures.c.
void girara_node_set_free_function | ( | girara_tree_node_t * | node, |
girara_free_function_t | gfree | ||
) |
Set the function which should be called if the stored data should be freed.
node | The girara node object |
gfree | Pointer to the free function |
Definition at line 372 of file datastructures.c.
girara_list_t* girara_sorted_list_new | ( | girara_compare_function_t | cmp | ) |
Create a new (sorted) list.
cmp | Pointer to the compare function. |
Definition at line 55 of file datastructures.c.
girara_list_t* girara_sorted_list_new2 | ( | girara_compare_function_t | cmp, |
girara_free_function_t | gfree | ||
) |
Create a new (sorted) list.
cmp | Pointer to the compare function. |
gfree | Pointer to the free function |
Definition at line 67 of file datastructures.c.