|
Soletta™ Framework
|
These are routines that Soletta provides for its list implementation. More...
#include <stdlib.h>#include <stdbool.h>#include <stddef.h>Go to the source code of this file.
Data Structures | |
| struct | sol_list |
| Structure to add list support to a type. More... | |
Macros | |
| #define | SOL_LIST_FOREACH(list, itr) for (itr = (list)->next; itr != (list); itr = itr->next) |
| Macro to iterate over a list easily. More... | |
| #define | SOL_LIST_FOREACH_SAFE(list, itr, itr_next) for (itr = (list)->next, itr_next = itr->next; itr != (list); itr = itr_next, itr_next = itr_next->next) |
| Macro to iterate over a list with support for node deletion. More... | |
| #define | SOL_LIST_GET_CONTAINER(list, type, member) (type *)((char *)(list) - offsetof(type, member)) |
| Helper macro to retrieve a pointer to the struct containing this list node. More... | |
| #define | SOL_LIST_INIT(name) { &(name), &(name) } |
Helper macro to initialize a sol_list structure. More... | |
Typedefs | |
| typedef struct sol_list | sol_list |
| Structure to add list support to a type. More... | |
Functions | |
| static void | sol_list_append (struct sol_list *list, struct sol_list *new_l) |
| Append an new node to the end of the list. More... | |
| static void | sol_list_init (struct sol_list *list) |
Initializes a sol_list struct. More... | |
| static bool | sol_list_is_empty (struct sol_list *list) |
| Convenience function to check if the list is empty. More... | |
| static void | sol_list_prepend (struct sol_list *list, struct sol_list *new_l) |
| Attach an new node to the beginning of the list. More... | |
| static void | sol_list_remove (struct sol_list *list) |
Remove the node pointed by list from the list. More... | |
| static void | sol_list_steal (struct sol_list *list, struct sol_list *new_head) |
| Steals the list nodes from a list. More... | |
These are routines that Soletta provides for its list implementation.
1.8.6