Project

General

Profile

Statistics
| Revision:

root / proj / include / list.h @ 267

History | View | Annotate | Download (766 Bytes)

1
#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