libmove3d
3.13.0
|
Dynamic double chained list. More...
Go to the source code of this file.
Classes | |
struct | s_dbl_list_node |
struct | s_dbl_list |
List structure. More... | |
Defines | |
#define | DBL_LIST_FIRST(type, L) ((type *)(((L)->first)?((L)->first->data):NULL)) |
#define | DBL_LIST_LAST(type, L) ((type *)(((L)->last)?((L)->last->data):NULL)) |
#define | DBL_LIST_NEXT(type, L) ((type *)(((L)->current)?(((L)->current->next)?((L)->current->next->data):NULL):NULL)) |
#define | DBL_LIST_PREV(type, L) ((type *)(((L)->current)?(((L)->current->prev)?((L)->current->prev->data):NULL):NULL)) |
#define | DBL_LIST_DATA(type, L) ((type *)(((L)->current)?((L)->current->data):NULL)) |
#define | DBL_LIST_DATA_N(type, L, num) ((type *)(dbl_list_get_data_n(L, num))) |
#define | DBL_LIST_INIT(copy, del, type) (dbl_list_init((dbl_clone_function)(copy), (dbl_destroy_function)(del), sizeof(type))) |
#define | DBL_LIST_FIND(L, data, fct) ((dbl_list_find_by_data((L), (data), (dbl_equal_function)(fct))) != NULL) |
Typedefs | |
typedef void *(* | dbl_clone_function )(void *) |
typedef void(* | dbl_destroy_function )(void *) |
typedef int(* | dbl_equal_function )(void *, void *) |
typedef struct s_dbl_list_node | dbl_list_node |
typedef struct s_dbl_list | dbl_list |
List structure. | |
Enumerations | |
enum | dbl_list_state { DBL_OK, DBL_EMPTY, DBL_NOT_VALIDE_CURRENT_POSITION, DBL_STACK_ERROR, DBL_MEMORY_ERROR, DBL_NULL_LIST, DBL_NOT_MATCHING_LIST } |
List errors stats. |
Dynamic double chained list.
typedef struct s_dbl_list_node dbl_list_node |
One node