CHANGELOG

changeset 1482
6769cb72521b
parent 1479
ac1baaed2fd7
child 1500
d20037235c9c
equal deleted inserted replaced
1481:1dda1eed1899 1482:6769cb72521b
6 * adds new key-value-based list implementation 6 * adds new key-value-based list implementation
7 + adds support for integer keys to CxHashKey 7 + adds support for integer keys to CxHashKey
8 * adds support for comparing arbitrary strings without explicit call to cx_strcast() 8 * adds support for comparing arbitrary strings without explicit call to cx_strcast()
9 * adds clone, union, difference, and intersection functions for CxList and CxMap 9 * adds clone, union, difference, and intersection functions for CxList and CxMap
10 * adds cxListContains() and cxMapContains() 10 * adds cxListContains() and cxMapContains()
11 * adds cxListReserve() and cxListShrink()
11 * adds cxListSet() 12 * adds cxListSet()
12 * adds cxListFirst() and cxListLast() 13 * adds cxListFirst() and cxListLast()
13 * adds cxListRemoveAndGetFirst() and cxListRemoveAndGetLast(), 14 * adds cxListRemoveAndGetFirst() and cxListRemoveAndGetLast(),
14 and corresponding macro aliases cxListPopFront() and cxListPop() 15 and corresponding macro aliases cxListPopFront() and cxListPop()
15 * adds cxListEmplace(), cxListEmplaceAt(), cxListEmplaceArray(), cxListEmplaceArrayAt(), and cxMapEmplace() 16 * adds cxListEmplace(), cxListEmplaceAt(), cxListEmplaceArray(), cxListEmplaceArrayAt(), and cxMapEmplace()
33 * changes the implementation of cx_strreplacen() for improved efficiency 34 * changes the implementation of cx_strreplacen() for improved efficiency
34 * changes all cxListIterator() and cxMapIterator() family of functions to also accept NULL as argument 35 * changes all cxListIterator() and cxMapIterator() family of functions to also accept NULL as argument
35 * changes insert_element member function of CxList to accept NULL source and return a pointer to the inserted element 36 * changes insert_element member function of CxList to accept NULL source and return a pointer to the inserted element
36 * changes the compare function wrapper for pointer lists so that it no longer invokes the actual compare function for NULL pointers 37 * changes the compare function wrapper for pointer lists so that it no longer invokes the actual compare function for NULL pointers
37 * changes struct cx_array_reallocator_s by replacing the four generic data members with two specifically named members 38 * changes struct cx_array_reallocator_s by replacing the four generic data members with two specifically named members
39 * changes cx_array_reserve() so that it reserves exactly the requested capacity (i.e., without overallocation)
40 * changes all other array functions to perform smart overallocation to avoid too many subsequent allocations
38 * fixes critical memory overflow in the stack-based array reallocator (this unfortunately breaks the function signature) 41 * fixes critical memory overflow in the stack-based array reallocator (this unfortunately breaks the function signature)
39 * fixes critical bug in cx_array_insert_sorted() that caused an infinite loop when inserting duplicates 42 * fixes critical bug in cx_array_insert_sorted() that caused an infinite loop when inserting duplicates
40 * fixes mempool implementation not supporting NULL as argument for realloc 43 * fixes mempool implementation not supporting NULL as argument for realloc
41 * fixes mempool implementation not supporting zero as size for realloc 44 * fixes mempool implementation not supporting zero as size for realloc
42 * fixes that the elem_count member of an iterator was not updated after removing an element flagged by cxIteratorFlagRemoval() 45 * fixes that the elem_count member of an iterator was not updated after removing an element flagged by cxIteratorFlagRemoval()

mercurial