76 #define NIL_LIST static_cast<LIST>(nullptr) 91 #define list_rest(l) ((l) ? (l)->next : NIL_LIST) 92 #define first_node(l) ((l) ? (l)->node : NIL_LIST) 101 #define iterate(l) for (; (l) != NIL_LIST; (l) = list_rest(l)) 111 #define set_rest(l, cell) ((l)->next = (cell))
int(*)(void *, void *) int_compare
LIST push(LIST list, void *element)
LIST push_last(LIST list, void *item)
void destroy_nodes(LIST list, void_dest destructor)
void insert(LIST list, void *node)
void(*)(void *) void_dest
LIST search(LIST list, void *key, int_compare is_equal)
LIST delete_d(LIST list, void *key, int_compare is_equal)