#include "erglob.h"

Go to the source code of this file.
Classes | |
| struct | lst_itm |
| struct | lnk_lst |
| struct | lnk_lst_ary |
Defines | |
| #define | LNK_LST_CHECK |
| #define | STORE_LIST_LEN |
| #define | LST_Len(lst) ((lst)->len) |
| #define | incr_LST_len(l) ( ++((l)->len) ) |
| #define | decr_LST_len(l) ( --((l)->len) ) |
| #define | clr_LST_len(l) ((l)->len = 0) |
| #define | NULL_ITEM ((tlst_val) -1) |
| #define | Valid_Item(val) (((tlst_val) (val)) != NULL_ITEM) |
| #define | Invalid_Item(val) (((tlst_val) (val)) == NULL_ITEM) |
| #define | LST_val(itm) ((itm)->val) |
| #define | LST_next(itm) ((itm)->next) |
| #define | LST_first(lst) ((lst)->first) |
| #define | LST_nxt(lst) ((lst)->nxt) |
| #define | LST_Empty(lst) ( LST_first(lst) == NULL ) |
| #define | ARY_LST_n_elems(a) ((a)->n_elems) |
| #define | LST_lists(a) ((a)->lists) |
| #define | _ary_lst_bnds_chk(a, i) |
| #define | ARY_LST_Elem(a, i) |
| #define | First_Item(l) |
| #define | Next_Item(l) |
| #define | First_Item_Fast(l, t) ( (t) = LST_first(l) ) |
| #define | Next_Item_Fast(l, t) ( (t) = LST_next(t) ) |
| #define | Valid_Item_Fast(v, t) ( t ) |
| #define | Get_Item_Fast(l, t) ( LST_val(t) ) |
| #define | ARY_First_Item(a, i) ( First_Item(ARY_LST_Elem(a,i)) ) |
| #define | ARY_Next_Item(a, i) ( Next_Item(ARY_LST_Elem(a,i)) ) |
| #define | ARY_Del_List(a, i) Free_List(ARY_LST_Elem(a,i)) |
| #define | First_Item_Strg(l, s) |
| #define | Next_Item_Strg(l, s) |
| #define | ARY_First_Item_Strg(a, i, s) ( First_Item_Strg(ARY_LST_Elem(a,i),s) ) |
| #define | ARY_Next_Item_Strg(a, i, s) ( Next_Item_Strg(ARY_LST_Elem(a,i),s) ) |
| #define | ARY_LST_Len(a, i) LST_Len(ARY_LST_Elem(a,i)) |
| #define | ARY_Add_Item(a, i, v) Add_Item(ARY_LST_Elem(a,i),v) |
| #define | ARY_Add_Item_Validate(a, i, v) Add_Item_Validate(ARY_LST_Elem(a,i),v) |
| #define | ARY_Add_Item_Dup(a, i, v) Add_Item_Dup(ARY_LST_Elem(a,i),v) |
| #define | ARY_Add_First_Item(a, i, v) Add_First_Item(ARY_LST_Elem(a,i),v) |
| #define | ARY_Add_Ordered_Item(a, i, v) Add_Ordered_Item(ARY_LST_Elem(a,i),v) |
| #define | ARY_Add_Ordered_Item_Dupl(a, i, v) Add_Ordered_Item_Dupl(ARY_LST_Elem(a,i),v) |
| #define | ARY_Del_Item(a, i, v) Del_Item(ARY_LST_Elem(a,i),v); |
| #define | ARY_Del_Cur_Item(a, i) Del_Cur_Item(ARY_LST_Elem(a,i)); |
| #define | Init_List(l) |
Typedefs | |
| typedef mINT32 | tlst_val |
| typedef struct lst_itm | LST_ITM |
| typedef struct lnk_lst | LNK_LST |
| typedef struct lnk_lst_ary | LNK_LST_ARY |
Functions | |
| void | ARY_Init_List (LNK_LST_ARY *ary, INT32 n_elems) |
| void | Free_List (LNK_LST *lst) |
| void | ARY_Free_List (LNK_LST_ARY *ary) |
| BOOL | Validate_List (LNK_LST *lst) |
| BOOL | Add_Item (LNK_LST *lst, tlst_val val) |
| BOOL | Add_Item_Validate (LNK_LST *lst, tlst_val val) |
| void | Add_Item_Dup (LNK_LST *lst, tlst_val val) |
| void | Add_First_Item (LNK_LST *lst, tlst_val val) |
| BOOL | Add_Ordered_Item (LNK_LST *lst, tlst_val val) |
| void | Add_Ordered_Item_Dupl (LNK_LST *lst, tlst_val val) |
| BOOL | Del_Item (LNK_LST *lst, tlst_val val) |
| BOOL | Del_Cur_Item (LNK_LST *lst) |
| BOOL | Item_In_List (LNK_LST *lst, tlst_val val) |
| BOOL | ARY_Item_In_List (LNK_LST_ARY *ary, INT32 i, tlst_val val) |
| void | Free_All_List_Items (void) |
| void | List_Print (LNK_LST *lst, char *msg,...) |
| void | ARY_List_Print (LNK_LST_ARY *ary, char *msg,...) |
Variables | |
| LST_ITM * | _lst_itm |
| char * | _ary_lst_bounds_msg |
| #define _ary_lst_bnds_chk | ( | a, | ||
| i | ||||
| ) |
Is_True ( ((i) >= 0) && ((i)<ARY_LST_n_elems(a)), \ (_ary_lst_bounds_msg, (i), (ARY_LST_n_elems(a)-1) ) )
Definition at line 397 of file linklist.h.
| #define ARY_Add_First_Item | ( | a, | ||
| i, | ||||
| v | ||||
| ) | Add_First_Item(ARY_LST_Elem(a,i),v) |
Definition at line 442 of file linklist.h.
| #define ARY_Add_Item | ( | a, | ||
| i, | ||||
| v | ||||
| ) | Add_Item(ARY_LST_Elem(a,i),v) |
Definition at line 439 of file linklist.h.
| #define ARY_Add_Item_Dup | ( | a, | ||
| i, | ||||
| v | ||||
| ) | Add_Item_Dup(ARY_LST_Elem(a,i),v) |
Definition at line 441 of file linklist.h.
| #define ARY_Add_Item_Validate | ( | a, | ||
| i, | ||||
| v | ||||
| ) | Add_Item_Validate(ARY_LST_Elem(a,i),v) |
Definition at line 440 of file linklist.h.
| #define ARY_Add_Ordered_Item | ( | a, | ||
| i, | ||||
| v | ||||
| ) | Add_Ordered_Item(ARY_LST_Elem(a,i),v) |
Definition at line 443 of file linklist.h.
| #define ARY_Add_Ordered_Item_Dupl | ( | a, | ||
| i, | ||||
| v | ||||
| ) | Add_Ordered_Item_Dupl(ARY_LST_Elem(a,i),v) |
Definition at line 445 of file linklist.h.
| #define ARY_Del_Cur_Item | ( | a, | ||
| i | ||||
| ) | Del_Cur_Item(ARY_LST_Elem(a,i)); |
Definition at line 448 of file linklist.h.
| #define ARY_Del_Item | ( | a, | ||
| i, | ||||
| v | ||||
| ) | Del_Item(ARY_LST_Elem(a,i),v); |
Definition at line 447 of file linklist.h.
| #define ARY_Del_List | ( | a, | ||
| i | ||||
| ) | Free_List(ARY_LST_Elem(a,i)) |
Definition at line 425 of file linklist.h.
| #define ARY_First_Item | ( | a, | ||
| i | ||||
| ) | ( First_Item(ARY_LST_Elem(a,i)) ) |
Definition at line 423 of file linklist.h.
Definition at line 436 of file linklist.h.
| #define ARY_LST_Elem | ( | a, | ||
| i | ||||
| ) |
( _ary_lst_bnds_chk((a),(i)), \ (((a)->lists)+(i)) )
Definition at line 404 of file linklist.h.
| #define ARY_LST_Len | ( | a, | ||
| i | ||||
| ) | LST_Len(ARY_LST_Elem(a,i)) |
Definition at line 438 of file linklist.h.
| #define ARY_LST_n_elems | ( | a | ) | ((a)->n_elems) |
Definition at line 392 of file linklist.h.
| #define ARY_Next_Item | ( | a, | ||
| i | ||||
| ) | ( Next_Item(ARY_LST_Elem(a,i)) ) |
Definition at line 424 of file linklist.h.
Definition at line 437 of file linklist.h.
| #define clr_LST_len | ( | l | ) | ((l)->len = 0) |
Definition at line 371 of file linklist.h.
| #define decr_LST_len | ( | l | ) | ( --((l)->len) ) |
Definition at line 370 of file linklist.h.
| #define First_Item | ( | l | ) |
| #define First_Item_Fast | ( | l, | ||
| t | ||||
| ) | ( (t) = LST_first(l) ) |
Definition at line 419 of file linklist.h.
| #define First_Item_Strg | ( | l, | ||
| s | ||||
| ) |
| #define Get_Item_Fast | ( | l, | ||
| t | ||||
| ) | ( LST_val(t) ) |
Definition at line 422 of file linklist.h.
| #define incr_LST_len | ( | l | ) | ( ++((l)->len) ) |
Definition at line 369 of file linklist.h.
| #define Init_List | ( | l | ) |
( (LST_nxt(l) = LST_first(l) = NULL), \ clr_LST_len(l) )
Definition at line 450 of file linklist.h.
Definition at line 386 of file linklist.h.
| #define LNK_LST_CHECK |
Definition at line 275 of file linklist.h.
| #define LST_Empty | ( | lst | ) | ( LST_first(lst) == NULL ) |
Definition at line 391 of file linklist.h.
| #define LST_first | ( | lst | ) | ((lst)->first) |
Definition at line 389 of file linklist.h.
| #define LST_Len | ( | lst | ) | ((lst)->len) |
Definition at line 368 of file linklist.h.
| #define LST_lists | ( | a | ) | ((a)->lists) |
Definition at line 393 of file linklist.h.
| #define LST_next | ( | itm | ) | ((itm)->next) |
Definition at line 388 of file linklist.h.
Referenced by check_linked_list_free().
| #define LST_nxt | ( | lst | ) | ((lst)->nxt) |
Definition at line 390 of file linklist.h.
| #define LST_val | ( | itm | ) | ((itm)->val) |
Definition at line 387 of file linklist.h.
| #define Next_Item | ( | l | ) |
| #define Next_Item_Fast | ( | l, | ||
| t | ||||
| ) | ( (t) = LST_next(t) ) |
Definition at line 420 of file linklist.h.
| #define Next_Item_Strg | ( | l, | ||
| s | ||||
| ) |
| #define NULL_ITEM ((tlst_val) -1) |
Definition at line 384 of file linklist.h.
| #define STORE_LIST_LEN |
Definition at line 296 of file linklist.h.
Definition at line 385 of file linklist.h.
| #define Valid_Item_Fast | ( | v, | ||
| t | ||||
| ) | ( t ) |
Definition at line 421 of file linklist.h.
| typedef struct lnk_lst_ary LNK_LST_ARY |
Definition at line 299 of file linklist.h.
| void ARY_Free_List | ( | LNK_LST_ARY * | ary | ) |
| void ARY_Init_List | ( | LNK_LST_ARY * | ary, | |
| INT32 | n_elems | |||
| ) |
| BOOL ARY_Item_In_List | ( | LNK_LST_ARY * | ary, | |
| INT32 | i, | |||
| tlst_val | val | |||
| ) |
| void ARY_List_Print | ( | LNK_LST_ARY * | ary, | |
| char * | msg, | |||
| ... | ||||
| ) |
| void Free_All_List_Items | ( | void | ) |
Definition at line 256 of file linklist.c.
References BLK_next, check_linked_list_free(), and lnk_lst_free.

| void Free_List | ( | LNK_LST * | lst | ) |
| void List_Print | ( | LNK_LST * | lst, | |
| char * | msg, | |||
| ... | ||||
| ) |
| char* _ary_lst_bounds_msg |
Definition at line 45 of file linklist.c.
Definition at line 69 of file linklist.c.
1.7.1