remove unnecessary members from the array reallocator struct - fixes #621

fixes tons of typos and grammar issues across the documentation - fixes #667

fixes various bugs related to skipping duplicates in insert_unique - relates to #557

changes the compare function wrapper for pointer lists so that it no longer invokes the actual compare function for NULL pointers

fix missing documentation if insert_unique member - relates to #557

fix various typos in the web documentation

add functions to insert elements into lists/arrays without duplicates - resolves #557

assert instead of assume sorted property in debug builds

replace all remaining generics with cx_strcast() - resolves #700

add unsigned char strings to cx_strcast() and changes documentation

go back to ctype.h, but this time try to avoid crashes in Microsoft's implementation

missing custom CFLAGS when testing for memrchr availability

improve feature test for memrchr() making it also available on BSD

use memrchr() to implement cx_strrchr() when it is available

fixes regression: missing closing brace in map.h in c++ builds

resolve TODO: test C23 base-2 literals

finalize the documentation on the new hash key features

change map.h to use new CX_HASH_KEY macro

add missing docstrings

change kv-list to use new CX_HASH_KEY macro

fix using empty initializer, which is a C23 extension

fix cxKvListSetKey() and cxKvListRemoveKey() accidentally not declared for C++

add C++ implementation of CX_HASH_KEY()

add generic CX_HASH_KEY() macro

add changelog entries for issue #720

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

(0) -1000 -300 -100 -64 tip

mercurial