src/cx/list.h

changeset 412
af766caea48d
parent 406
9cbea761fbf7
child 415
067aa769796a
equal deleted inserted replaced
411:2842f729caab 412:af766caea48d
30 #define UCX_LIST_H 30 #define UCX_LIST_H
31 31
32 #include <stdlib.h> 32 #include <stdlib.h>
33 #include "allocator.h" 33 #include "allocator.h"
34 34
35 typedef int(*CxListComparator)(void *left, void *right); 35 typedef int(*CxListComparator)(void const *left, void const *right);
36 36
37 typedef struct { 37 typedef struct {
38 CxAllocator allocator; 38 CxAllocator allocator;
39 CxListComparator cmpfunc; 39 CxListComparator cmpfunc;
40 size_t itemsize; 40 size_t itemsize;
49 void *(*remove)(cx_list *list, size_t index); 49 void *(*remove)(cx_list *list, size_t index);
50 size_t (*find)(cx_list *list, void *elem); 50 size_t (*find)(cx_list *list, void *elem);
51 void *(*last)(cx_list *list); 51 void *(*last)(cx_list *list);
52 } cx_list_class; 52 } cx_list_class;
53 53
54 struct cx_list_s { 54 typedef struct {
55 cx_list_class *cl; 55 cx_list_class *cl;
56 cx_list data; 56 cx_list data;
57 }; 57 } cx_list_s;
58 58
59 typedef struct cx_list_s *CxList; 59 typedef cx_list_s *CxList;
60 60
61 int cxListAdd(CxList list, void *elem); 61 int cxListAdd(CxList list, void *elem);
62 62
63 int cxListInsert(CxList list, size_t index, void *elem); 63 int cxListInsert(CxList list, size_t index, void *elem);
64 64

mercurial