Axl List: A configurable double-linked list used across the library.


Functions

void axl_list_add (axlList *list, axlPointer pointer)
 Allows to store a new element inside the list, using the provided data.
void axl_list_add_at (axlList *list, axlPointer pointer, int position)
 Allows to adds the provided item to the given list at the selected position.
int axl_list_always_return_1 (axlPointer a, axlPointer b)
 An equal function that could be used to make elements to be stored inside an axlList at the end as the are added, without replacing any previously added item.
void axl_list_append (axlList *list, axlPointer pointer)
 Allows to add a node to the provided list, at the last position, without taking into consideration current axlList configuration (axlEqualFunc at axl_list_new).
axlListaxl_list_copy (axlList *list, axlDuplicateFunc func)
 Allows to copy the provided list, returning a newly allocated structure.
int axl_list_equal_int (axlPointer a, axlPointer b)
 Equal function that is preprated to receive to integers and return if they are equal.
int axl_list_equal_string (axlPointer a, axlPointer b)
 Equal function that is prepared to receive two strings a return if they are equal.
bool axl_list_exists (axlList *list, axlPointer pointer)
 Allows to check if the given pointer is stored on the given list.
bool axl_list_exists_at (axlList *list, axlPointer pointer, int position)
 Allows to check if the given pointer is stored on the given position.
bool axl_list_find_string (axlPointer element, axlPointer data)
 Helper function that could be used at axl_list_lookup if the list created only contains strings.
void axl_list_free (axlList *list)
 Allows to destroy the given list, and all user space associated memory if a destroy handler was provided.
axlPointer axl_list_get_first (axlList *list)
 Returns the first element stored on the list.
axlPointer axl_list_get_last (axlList *list)
 Returns the last element stored on the list.
axlPointer axl_list_get_nth (axlList *list, int position)
 Allows to get current pointer stored at the given position.
bool axl_list_is_empty (axlList *list)
 Allows to check if the provided list is empty (no element stored).
int axl_list_length (axlList *list)
 Allows to get current list length.
axlPointer axl_list_lookup (axlList *list, axlLookupFunc func, axlPointer data)
 Allows to perform a linear lookup on the list provided, givin a function that is used to now the object to return due to the lookup.
axlListaxl_list_new (axlEqualFunc are_equal, axlDestroyFunc destroy_data)
 Creates a new axlList, using provided handlers.
void axl_list_prepend (axlList *list, axlPointer pointer)
 Allows to add a node to the provided list, at the first position, without taking into consideration current axlList configuration (axlEqualFunc at axl_list_new).
void axl_list_remove (axlList *list, axlPointer pointer)
 Allows to remove the given pointer from the list.
void axl_list_remove_first (axlList *list)
 Allows to remove the first element, calling to the destroy function if defined.
void axl_list_remove_last (axlList *list)
 Allows to remove the last element, calling to the destroy function if defined.
void axl_list_unlink (axlList *list, axlPointer pointer)
 Removes the given pointer from the list, without calling the destroy function, even when it is configured.
void axl_list_unlink_first (axlList *list)
 Allows to remove the first element from the list without calling to the destroy function, even with it is defined.
void axl_list_unlink_last (axlList *list)
 Allows to remove the last element from the list without calling to the destroy function, even with it is defined.