| 9 * adds cxListContains() |
9 * adds cxListContains() |
| 10 * adds cxListFirst() and cxListLast() |
10 * adds cxListFirst() and cxListLast() |
| 11 * adds cxListRemoveAndGetFirst() and cxListRemoveAndGetLast(), |
11 * adds cxListRemoveAndGetFirst() and cxListRemoveAndGetLast(), |
| 12 and corresponding macro aliases cxListPopFront() and cxListPop() |
12 and corresponding macro aliases cxListPopFront() and cxListPop() |
| 13 * adds cxListEmplace(), cxListEmplaceAt(), and cxMapEmplace() |
13 * adds cxListEmplace(), cxListEmplaceAt(), and cxMapEmplace() |
| |
14 * adds cxListInsertUnique() and cxListInsertUniqueArray() |
| |
15 * adds cx_array_insert_unique() and various convenience macros |
| |
16 * adds cx_linked_list_insert_unique() and cx_linked_list_insert_unique_chain() |
| 14 * adds cxBufferShrink() |
17 * adds cxBufferShrink() |
| 15 * adds cxTreeSize() |
18 * adds cxTreeSize() |
| 16 * adds CX_PRIstr and CX_SFMT macros for formatting UCX strings |
19 * adds CX_PRIstr and CX_SFMT macros for formatting UCX strings |
| 17 * adds cx_strcpy() and cx_strcpy_a() |
20 * adds cx_strcpy() and cx_strcpy_a() |
| 18 * adds cxJsonArrRemove() and cxJsonObjRemove() |
21 * adds cxJsonArrRemove() and cxJsonObjRemove() |
| 24 * changes grow strategy for CxBuffer, which does now take the page size into account |
27 * changes grow strategy for CxBuffer, which does now take the page size into account |
| 25 * changes the implementation of cx_strreplacen() for improved efficiency |
28 * changes the implementation of cx_strreplacen() for improved efficiency |
| 26 * changes all cxListIterator() and cxMapIterator() family of functions to also accept NULL as argument |
29 * changes all cxListIterator() and cxMapIterator() family of functions to also accept NULL as argument |
| 27 * changes insert_element member function of CxList to accept NULL source and return a pointer to the inserted element |
30 * changes insert_element member function of CxList to accept NULL source and return a pointer to the inserted element |
| 28 * fixes critical memory overflow in the stack-based array reallocator (this unfortunately breaks the function signature) |
31 * fixes critical memory overflow in the stack-based array reallocator (this unfortunately breaks the function signature) |
| |
32 * fixes critical bug in cx_array_insert_sorted() that caused an infinite loop when inserting duplicates |
| 29 * fixes mempool implementation not supporting NULL as argument for realloc |
33 * fixes mempool implementation not supporting NULL as argument for realloc |
| 30 * fixes mempool implementation not supporting zero as size for realloc |
34 * fixes mempool implementation not supporting zero as size for realloc |
| 31 * fixes that the elem_count member of an iterator was not updated after removing an element flagged by cxIteratorFlagRemoval() |
35 * fixes that the elem_count member of an iterator was not updated after removing an element flagged by cxIteratorFlagRemoval() |
| 32 * fixes that starting an iteration in a non-root node incorrectly continues iteration with the siblings of that node |
36 * fixes that starting an iteration in a non-root node incorrectly continues iteration with the siblings of that node |
| 33 * fixes unnecessary allocations in cx_strcat() family of functions |
37 * fixes unnecessary allocations in cx_strcat() family of functions |