76 #define NIL_LIST ((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)) 110 #define push_on(list, thing) ((list) = push(list, (LIST)(thing))) 120 #define set_rest(l, cell) ((l)->next = (cell))
LIST push_last(LIST list, void *item)
LIST push(LIST list, void *element)
LIST search(LIST list, void *key, int_compare is_equal)
void(*)(void *) void_dest
LIST delete_d(LIST list, void *key, int_compare is_equal)
int(*)(void *, void *) int_compare
void insert(LIST list, void *node)
void destroy_nodes(LIST list, void_dest destructor)