src/cx/list.h

changeset 405
44efaa54d63d
parent 404
86ebc3745e62
child 406
9cbea761fbf7
equal deleted inserted replaced
404:86ebc3745e62 405:44efaa54d63d
41 size_t size; 41 size_t size;
42 size_t capacity; 42 size_t capacity;
43 void *listdata; 43 void *listdata;
44 } cx_list; 44 } cx_list;
45 45
46 typedef int (*cx_list_add)(cx_list *list, void *elem);
47
48 typedef int (*cx_list_insert)(cx_list *list, size_t index, void *elem);
49
50 typedef void *(*cx_list_remove)(cx_list *list, size_t index);
51
52 typedef size_t (*cx_list_find)(cx_list *list, void *elem);
53
54 typedef void *(*cx_list_last)(cx_list *list);
55
56 typedef struct { 46 typedef struct {
57 cx_list_add add; 47 int (*add)(cx_list *list, void *elem);
58 cx_list_insert insert; 48 int (*insert)(cx_list *list, size_t index, void *elem);
59 cx_list_remove remove; 49 void *(*remove)(cx_list *list, size_t index);
60 cx_list_find find; 50 size_t (*find)(cx_list *list, void *elem);
61 cx_list_last last; 51 void *(*last)(cx_list *list);
62 } cx_list_class; 52 } cx_list_class;
63 53
64 struct cx_list_s { 54 struct cx_list_s {
65 cx_list_class *cl; 55 cx_list_class *cl;
66 cx_list data; 56 cx_list data;

mercurial