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; |