File: list.h

package info (click to toggle)
pcb-rnd 3.1.7b-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 33,108 kB
  • sloc: ansic: 213,400; yacc: 6,241; sh: 4,698; awk: 3,016; makefile: 2,254; lex: 1,166; python: 519; xml: 261; lisp: 154; tcl: 67; perl: 34; javascript: 6; ruby: 5
file content (24 lines) | stat: -rw-r--r-- 832 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

struct LST(node_s) {
	LST_ITEM_T item;
	struct LST(node_s) *next;
};

#ifndef LST_DONT_TYPEDEF_NODE
typedef struct LST(node_s) LST(node_t);
#endif

LST(node_t) *LST(prepend)(LST(node_t) *list, LST_ITEM_T *item);
LST(node_t) *LST(insert_after)(LST(node_t) *node, LST_ITEM_T *item);
LST(node_t) *LST(insert_after_nth)(LST(node_t) *list, int n, LST_ITEM_T *item);
LST(node_t) *LST(remove_front)(LST(node_t) *list);
LST(node_t) *LST(remove)(LST(node_t) *list, LST(node_t) *node);
LST(node_t) *LST(remove_item)(LST(node_t) *list, LST_ITEM_T *item);
LST(node_t) *LST(find)(LST(node_t) *list, LST_ITEM_T *item);
LST(node_t) *LST(nth)(LST(node_t) *list, int n);
LST(node_t) *LST(last)(LST(node_t) *list);

size_t LST(length)(LST(node_t) *list);
int LST(get_index)(LST(node_t) *list, LST(node_t) *node);

void LST(free)(LST(node_t) *list);