cxListDifference() sets the sorted flag if it can guarantee that default tip

add implementation for cxListDifference() - issue #745

continue to fix warnings on certain compilers due to implicit cast from fptr to bool

fix warnings on certain compilers due to implicit cast from fptr to bool

add more test coverage for new map functions and fixes some issues

simplify clone implementations

add tests for cxMapDifference() and cxMapListDifference()

add documentation for cxMapDifference() and cxMapListDifference()

default NULL allocator to cxDefaultAllocator

add implementations for map difference

make clone functions return int instead of size_t

add test coverage for allocation failures in clone-function

fix hash map not being able to deal with 64-bit hashes

add documentation for cxListClone() - relates to #744

add documentation for cxMapClone() - resolves #743

add tests for cxMapClone() - relates to #743

add destruction of uninitialized entries on allocation failure to cxMapClone() - relates to #743

untested draft of cxMapClone() - relates to #743

add cxListClone() - resolves #744 except for test coverage

fix accidental additions of unnecessary unistd.h includes

fix overlooked renaming of cx_attr_export to CX_EXPORT

add cxListEmplaceArray() and cxListEmplaceArrayAt() as preparation for the clone implementation

add possibility to wrap valid function of an iterator (just for the sake of completeness)

define the function pointer for clone functions

minor wording improvements in buffer documentation

remove the concept of "mutating iterators" - resolves #579

add support for non-sorted lists in cxListInsertUnique() and cxListInsertUniqueArray()

make cxCollectionSorted() always return true for empty collections regardless of the sorted flag

clean up header files and adds support for comparing arbitrary strings with string.h functions

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

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

(0) -1000 -120 tip

mercurial