root / proj / include / list.h @ 229
History | View | Annotate | Download (766 Bytes)
1 | 226 | up20180642 | #ifndef LIST_H_INCLUDED
|
---|---|---|---|
2 | #define LIST_H_INCLUDED
|
||
3 | |||
4 | struct list_node;
|
||
5 | typedef struct list_node list_node_t; |
||
6 | |||
7 | list_node_t* (list_node_ctor)(list_node_t *p, list_node_t *n, void *val);
|
||
8 | void (list_node_dtor)(list_node_t *p);
|
||
9 | list_node_t* (list_node_next)(const list_node_t *p);
|
||
10 | list_node_t* (list_node_prev)(const list_node_t *p);
|
||
11 | void** (list_node_val )(list_node_t *p);
|
||
12 | |||
13 | struct list;
|
||
14 | typedef struct list list_t; |
||
15 | |||
16 | list_t* (list_ctor)(void);
|
||
17 | int (list_dtor)(list_t *l);
|
||
18 | list_node_t* (list_begin )(list_t *l); |
||
19 | list_node_t* (list_end )(list_t *l); |
||
20 | size_t (list_size )(const list_t *l);
|
||
21 | list_node_t* (list_insert)(list_t *l, list_node_t *position, void *val);
|
||
22 | void* (list_erase )(list_t *l, list_node_t *position);
|
||
23 | |||
24 | #endif //LIST_H_INCLUDED |