add changelog entries for issue #720 default tip

add support for integer keys - resolves #720

add size_t compare functions

simplify hash map iterator - resolves #727

fix cx_kvl_map_put() returning the wrong pointer

add kv-list files to MSVC project files

fix initialization of cxDefaultAllocator for MSVC

add cxKvListGetKey()

fix that cxKvListInsert() did not lose the sorted property

remove unused old cx_kv_list_remove_key() prototype

fix typo in CHANGELOG

kv-list: add documentation

kv-list: completes test coverage

add tests for creating iterators with NULL lists or maps

the elem_count member of an iterator was not updated after removing an element flagged by cxIteratorFlagRemoval() - fixes #728

kv-list: implement mutating iterator support

add changelog entry

implement non-mutating iterator

allow setting the key again on the same node

disallow setting a key that already exists

consider the edge case that either list or map operation fails when adding an element

increase test coverage for kv-list

improve cx_kv_list_insert() by using low level access to the list method

implement cx_kv_list_insert()

implement cxKvListRemoveKey()

add error handling to cx_kv_list_set_key()

implement cx_kvl_find_remove()

fix documentation of return value of cx_linked_list_find()

make cx_kvl_remove() also remove the keys from the map

kv-list: remove obsolete TODOs and add a test case to prove it

kv-list: fix a possible source of UB when allocation fails during list creation

kv-list: fix support for CX_STORE_POINTERS when using the map interface

remove now unused destructor wrapper

change kv-list destructor strategy to only use the list destructors

change linked_list.c to allow custom data in nodes + implement cx_kv_list_set_key()

add failing test case test_kv_list_set_key()

implement a patch function that results in (almost) always calling the correct destructors

fix that the fallthrough attributes were not abstracted by the cx_attr macros

add failing tests for when clear/remove are called with destructors in the "opposite" aspect of a kv-list

add several fixme and todo comments regarding invoking destructors

implement support for registering destructors to a kv-list using its map aspect

implement cx_kvl_map_remove()

add test_kv_list_map_remove()

make test_kv_list_map_put() pass

add failing test case for inserting into kv-list via map

add missing attributes to generic implementations

fix broken C++ build

fix wrong position of cstr argument in attribute

fix that the wrong vtable is patched when CX_STORE_POINTERS is used

make comparisons between kv_list and linked_list optimizable

fix some grammar and wording issues

implement kv-list to a point where it correctly behaves like a list

remove overlooked unnecessary attribute

roll out the function stubs for the kv-list

create a header file for the new key-value-lists

remove obsolete attributes

fix that the support for NULL when creating mutating iterators was broken

add support for NULL in map iterators

also support NULL in index-based iterator generating functions

fix the documentation regarding member function that now support emplace-mechanics

add cxMapEmplace()

prepare index comparison for potential changes to binary search results

add documentation for cxJsonArrRemove() and cxJsonObjRemove()

add cxJsonObjRemove() #627

add cxJsonArrayRemove()

fix incorrect memcpy() in cxMempoolTransfer()

update uwproj - adds libdir detection w/o config.site

allow NULL for creating UCX strings - resolves #683

merge remote tracking changes

add support for C-strings in cx_strcast() - resolves #549

apply latest uwproj fixes

implement zalloc() - resolves #679

add base allocator to mempool

stabilizes mempool implementation

make test-compile depend on both static and shared

fix test coverage for cxStdlibAllocator

improve mempool destructor support (3/3)

improve mempool destructor support (2/3)

improve mempool destructor support (1/3)

fix critical memory overflow in the stack-based array reallocator

fix stack buffer overflow in arl_swap_no_sbo test

add an option to enable address sanitizer

add convenience macros for using the default allocator - relates to #669

allow changing the cxDefaultAllocator - resolves #669

fix that testing allocator is counting free(NULL)

add cxListEmplace() and cxListEmplaceAt() plus some improvements to the array list implementation

add convenience functions for easy access to first/last element of a list

critical: fixes uninitialized memory in tree iterator

fix copy/paste documentation

remove unused file

fix wrong flags in toolchain.mk files after updating uwproj

update uwproj

fix that iteration continued with siblings for a subtree-root - fixes #656

add explanation of depth to the iterator/visitor field

add a test case that proves that visitors are not affected by issue #656

add test case that shows issue #656

some cxListIterator() variants now also allow NULL lists

adds cx_strcpy() and cx_strcpy_a()

C23 is not a preview any longer

fix unnecessary explicit zero-terminator

fix code not compiling with GCC 15

improve cx_strreplacen() - resolves #623

fix theoretical (but not actual) use-after-free

use new string formatting macros in documentation

bring back CX_PRIstr and CX_SFMT macros - resolves #612

fixes unnecessary allocations in cx_strcat() family of functions

add cxTreeSize() - resolves #624

add test and documentation for cxListContains() - fixes #643

adds cxListContains() implementation (still needs test and docu)

add windows support for new buffer auto-extend strategy - relates to #641

new auto-extend strategy for CxBuffer - resolves #641

adds cxBufferShrink() - resolves #626

(0) -1000 -112 tip

mercurial