Tue, 05 Oct 2021 11:19:32 +0200
remove convenience macros
Users should write their own wrappers s.t. the type
information does not have to be repeated on every
call site.
src/cx/list.h | file | annotate | diff | comparison | revisions | |
test/test_list.c | file | annotate | diff | comparison | revisions |
1.1 --- a/src/cx/list.h Sun Oct 03 18:51:44 2021 +0200 1.2 +++ b/src/cx/list.h Tue Oct 05 11:19:32 2021 +0200 1.3 @@ -85,12 +85,6 @@ 1.4 1.5 void *cxListLast(CxList list); 1.6 1.7 -#define cxTypedListAdd(type, list, elem) (cxListAdd(list, (type*) (elem))) 1.8 -#define cxTypedListInsert(type, list, index, elem) (cxListInsert(list, index, (type*) (elem))) 1.9 -#define cxTypedListAt(type, list, index) ((type*)cxListAt(list, index)) 1.10 -#define cxTypedListFind(type, list, elem) (cxListFind(list, (type*) (elem))) 1.11 -#define cxTypedListLast(type, list) ((type*)cxListLast(list)) 1.12 - 1.13 #ifdef __cplusplus 1.14 } /* extern "C" */ 1.15 #endif
2.1 --- a/test/test_list.c Sun Oct 03 18:51:44 2021 +0200 2.2 +++ b/test/test_list.c Tue Oct 05 11:19:32 2021 +0200 2.3 @@ -181,18 +181,18 @@ 2.4 CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int)); 2.5 2.6 data = 5; 2.7 - CU_ASSERT_EQUAL(cxTypedListAdd(int, list, &data), 0) 2.8 + CU_ASSERT_EQUAL(cxListAdd(list, &data), 0) 2.9 data = 47; 2.10 - CU_ASSERT_EQUAL(cxTypedListAdd(int, list, &data), 0) 2.11 + CU_ASSERT_EQUAL(cxListAdd(list, &data), 0) 2.12 data = 13; 2.13 - CU_ASSERT_EQUAL(cxTypedListAdd(int, list, &data), 0) 2.14 + CU_ASSERT_EQUAL(cxListAdd(list, &data), 0) 2.15 2.16 CU_ASSERT_EQUAL(list->size, 3) 2.17 CU_ASSERT_TRUE(list->capacity >= list->size) 2.18 2.19 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 0), 5) 2.20 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 1), 47) 2.21 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 2), 13) 2.22 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 0), 5) 2.23 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 1), 47) 2.24 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 2), 13) 2.25 2.26 cxLinkedListDestroy(list); 2.27 CU_ASSERT_TRUE(cxTestingAllocatorVerify()) 2.28 @@ -204,15 +204,15 @@ 2.29 int data; 2.30 CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int)); 2.31 2.32 - CU_ASSERT_PTR_NULL(cxTypedListLast(int, list)) 2.33 + CU_ASSERT_PTR_NULL(cxListLast(list)) 2.34 2.35 data = 5; 2.36 - CU_ASSERT_EQUAL(cxTypedListAdd(int, list, &data), 0) 2.37 - CU_ASSERT_EQUAL(*cxTypedListLast(int, list), 5) 2.38 + CU_ASSERT_EQUAL(cxListAdd(list, &data), 0) 2.39 + CU_ASSERT_EQUAL(*(int*)cxListLast(list), 5) 2.40 2.41 data = 47; 2.42 - CU_ASSERT_EQUAL(cxTypedListAdd(int, list, &data), 0) 2.43 - CU_ASSERT_EQUAL(*cxTypedListLast(int, list), 47) 2.44 + CU_ASSERT_EQUAL(cxListAdd(list, &data), 0) 2.45 + CU_ASSERT_EQUAL(*(int*)cxListLast(list), 47) 2.46 2.47 cxLinkedListDestroy(list); 2.48 CU_ASSERT_TRUE(cxTestingAllocatorVerify()) 2.49 @@ -225,26 +225,26 @@ 2.50 CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int)); 2.51 2.52 data = 5; 2.53 - CU_ASSERT_NOT_EQUAL(cxTypedListInsert(int, list, 1, &data), 0) 2.54 + CU_ASSERT_NOT_EQUAL(cxListInsert(list, 1, &data), 0) 2.55 CU_ASSERT_EQUAL(list->size, 0) 2.56 - CU_ASSERT_EQUAL(cxTypedListInsert(int, list, 0, &data), 0) 2.57 + CU_ASSERT_EQUAL(cxListInsert(list, 0, &data), 0) 2.58 CU_ASSERT_EQUAL(list->size, 1) 2.59 data = 47; 2.60 - CU_ASSERT_EQUAL(cxTypedListInsert(int, list, 0, &data), 0) 2.61 + CU_ASSERT_EQUAL(cxListInsert(list, 0, &data), 0) 2.62 CU_ASSERT_EQUAL(list->size, 2) 2.63 data = 13; 2.64 - CU_ASSERT_EQUAL(cxTypedListInsert(int, list, 1, &data), 0) 2.65 + CU_ASSERT_EQUAL(cxListInsert(list, 1, &data), 0) 2.66 CU_ASSERT_EQUAL(list->size, 3) 2.67 data = 42; 2.68 - CU_ASSERT_EQUAL(cxTypedListInsert(int, list, 3, &data), 0) 2.69 + CU_ASSERT_EQUAL(cxListInsert(list, 3, &data), 0) 2.70 2.71 CU_ASSERT_EQUAL(list->size, 4) 2.72 CU_ASSERT_TRUE(list->capacity >= list->size) 2.73 2.74 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 0), 47) 2.75 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 1), 13) 2.76 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 2), 5) 2.77 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 3), 42) 2.78 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 0), 47) 2.79 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 1), 13) 2.80 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 2), 5) 2.81 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 3), 42) 2.82 2.83 cxLinkedListDestroy(list); 2.84 CU_ASSERT_TRUE(cxTestingAllocatorVerify()) 2.85 @@ -257,13 +257,13 @@ 2.86 CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int)); 2.87 2.88 data = 5; 2.89 - cxTypedListAdd(int, list, &data); 2.90 + cxListAdd(list, &data); 2.91 data = 47; 2.92 - cxTypedListAdd(int, list, &data); 2.93 + cxListAdd(list, &data); 2.94 data = 42; 2.95 - cxTypedListAdd(int, list, &data); 2.96 + cxListAdd(list, &data); 2.97 data = 13; 2.98 - cxTypedListAdd(int, list, &data); 2.99 + cxListAdd(list, &data); 2.100 2.101 CU_ASSERT_EQUAL(list->size, 4) 2.102 CU_ASSERT_TRUE(list->capacity >= list->size) 2.103 @@ -273,20 +273,20 @@ 2.104 CU_ASSERT_EQUAL(cxListRemove(list, 2), 0) 2.105 CU_ASSERT_EQUAL(list->size, 3) 2.106 CU_ASSERT_TRUE(list->capacity >= list->size) 2.107 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 0), 5) 2.108 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 1), 47) 2.109 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 2), 13) 2.110 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 0), 5) 2.111 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 1), 47) 2.112 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 2), 13) 2.113 2.114 CU_ASSERT_EQUAL(cxListRemove(list, 0), 0) 2.115 CU_ASSERT_EQUAL(list->size, 2) 2.116 CU_ASSERT_TRUE(list->capacity >= list->size) 2.117 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 0), 47) 2.118 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 1), 13) 2.119 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 0), 47) 2.120 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 1), 13) 2.121 2.122 CU_ASSERT_EQUAL(cxListRemove(list, 1), 0) 2.123 CU_ASSERT_EQUAL(list->size, 1) 2.124 CU_ASSERT_TRUE(list->capacity >= list->size) 2.125 - CU_ASSERT_EQUAL(*cxTypedListAt(int, list, 0), 47) 2.126 + CU_ASSERT_EQUAL(*(int*)cxListAt(list, 0), 47) 2.127 2.128 CU_ASSERT_EQUAL(cxListRemove(list, 0), 0) 2.129 CU_ASSERT_EQUAL(list->size, 0) 2.130 @@ -305,25 +305,25 @@ 2.131 CxList list = cxLinkedListCreate(cxTestingAllocator, (CxListComparator) cmp_int, sizeof(int)); 2.132 2.133 data = 5; 2.134 - cxTypedListAdd(int, list, &data); 2.135 + cxListAdd(list, &data); 2.136 data = 47; 2.137 - cxTypedListAdd(int, list, &data); 2.138 + cxListAdd(list, &data); 2.139 data = 13; 2.140 - cxTypedListAdd(int, list, &data); 2.141 + cxListAdd(list, &data); 2.142 2.143 CU_ASSERT_EQUAL(list->size, 3) 2.144 CU_ASSERT_TRUE(list->capacity >= list->size) 2.145 2.146 criteria = 5; 2.147 - CU_ASSERT_EQUAL(cxTypedListFind(int, list, &criteria), 0) 2.148 + CU_ASSERT_EQUAL(cxListFind(list, &criteria), 0) 2.149 criteria = 47; 2.150 - CU_ASSERT_EQUAL(cxTypedListFind(int, list, &criteria), 1) 2.151 + CU_ASSERT_EQUAL(cxListFind(list, &criteria), 1) 2.152 criteria = 13; 2.153 - CU_ASSERT_EQUAL(cxTypedListFind(int, list, &criteria), 2) 2.154 + CU_ASSERT_EQUAL(cxListFind(list, &criteria), 2) 2.155 criteria = 9000; 2.156 - CU_ASSERT_EQUAL(cxTypedListFind(int, list, &criteria), 3) 2.157 + CU_ASSERT_EQUAL(cxListFind(list, &criteria), 3) 2.158 criteria = -5; 2.159 - CU_ASSERT_EQUAL(cxTypedListFind(int, list, &criteria), 3) 2.160 + CU_ASSERT_EQUAL(cxListFind(list, &criteria), 3) 2.161 2.162 cxLinkedListDestroy(list); 2.163 CU_ASSERT_TRUE(cxTestingAllocatorVerify())