Classes |
struct | list_rec |
Defines |
#define | NIL_LIST (LIST) 0 |
#define | list_rest(l) ((l) ? (l)->next : NIL_LIST) |
#define | first_node(l) ((l) ? (l)->node : NIL_LIST) |
#define | copy_first(l1, l2) (l2=push(l2, first_node(l1))) |
#define | iterate(l) for (; (l) != NIL_LIST; (l) = list_rest (l)) |
#define | iterate_list(x, l) for ((x)=(l); (x)!=0; (x)=list_rest(x)) |
#define | JOIN_ON(list1, list2) ((list1) = join ((list1), (list2))) |
#define | pop_off(list) ((list) = pop (list)) |
#define | push_on(list, thing) ((list) = push (list, (LIST) (thing))) |
#define | second_node(l) first_node (list_rest (l)) |
#define | set_rest(l, cell) ((l)->next = (cell)) |
#define | third(l) first_node (list_rest (list_rest (l))) |
Typedefs |
typedef list_rec * | LIST |
Functions |
int | count (LIST var_list) |
LIST | delete_d (LIST list, void *key, int_compare is_equal) |
LIST | delete_d (LIST list, void *key, TessResultCallback2< int, void *, void * > *is_equal) |
LIST | destroy (LIST list) |
void | destroy_nodes (LIST list, void_dest destructor) |
void | insert (LIST list, void *node) |
int | is_same_node (void *item1, void *item2) |
int | is_same (void *item1, void *item2) |
LIST | join (LIST list1, LIST list2) |
LIST | last (LIST var_list) |
void * | nth_cell (LIST var_list, int item_num) |
LIST | pop (LIST list) |
LIST | push (LIST list, void *element) |
LIST | push_last (LIST list, void *item) |
LIST | reverse (LIST list) |
LIST | reverse_d (LIST list) |
LIST | s_adjoin (LIST var_list, void *variable, int_compare compare) |
LIST | search (LIST list, void *key, int_compare is_equal) |
LIST | search (LIST list, void *key, TessResultCallback2< int, void *, void * > *) |