changelog
    
    
    - Thu, 23 Dec 2021 15:20:50 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 23 Dec 2021 15:20:50 +0100] rev 481
 
    - add several new linked list functions
* cx_linked_list_insert()
* cx_linked_list_insert_chain()
* cx_linked_list_link()
* cx_linked_list_unlink()
Also uses the most general function wherever possible. 
    - Mon, 20 Dec 2021 13:01:38 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Dec 2021 13:01:38 +0100] rev 480
 
    - add cx_linked_list_find()
 
    - Mon, 20 Dec 2021 12:10:48 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Dec 2021 12:10:48 +0100] rev 479
 
    - add linked list tests for cxListAt()
 
    - Mon, 20 Dec 2021 11:58:36 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Dec 2021 11:58:36 +0100] rev 478
 
    - add more nonnull attributes
This also changes the contract for last/first in the sense that these
functions now also require a valid pointer. 
    - Mon, 20 Dec 2021 11:26:39 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Dec 2021 11:26:39 +0100] rev 477
 
    - add more explicit documentation to cx_linked_list_remove()
also require nonnull node argument 
    - Mon, 20 Dec 2021 11:17:06 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 20 Dec 2021 11:17:06 +0100] rev 476
 
    - change contract of cx_linked_list_remove()
also use cx_linked_list_remove() in high level API 
    - Sat, 04 Dec 2021 17:38:23 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 04 Dec 2021 17:38:23 +0100] rev 475
 
    - add cx_linked_list_first() + cx_linked_list_prepend()
removes concatenating behavior of cx_linked_list_add() 
    - Sat, 09 Oct 2021 11:12:48 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sat, 09 Oct 2021 11:12:48 +0200] rev 474
 
    - remove cxListLast (can be realized via cxListAt and index=size-1)
 
    - Fri, 08 Oct 2021 19:47:31 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 08 Oct 2021 19:47:31 +0200] rev 473
 
    - add cx_linked_list_{prev, remove, reverse}
changes assertions for some low level methods (loc_next is now always mandatory) 
    - Fri, 08 Oct 2021 18:58:49 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 08 Oct 2021 18:58:49 +0200] rev 472
 
    - move dereference operation into macro
 
    - Tue, 05 Oct 2021 16:22:48 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 05 Oct 2021 16:22:48 +0200] rev 471
 
    - add new ucx_list_sort test
 
    - Wed, 06 Oct 2021 14:24:52 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 06 Oct 2021 14:24:52 +0200] rev 470
 
    - add tree.h to list of headers
 
    - Wed, 06 Oct 2021 14:10:19 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 06 Oct 2021 14:10:19 +0200] rev 469
 
    - add high level list sort and inlines method invocation functions
 
    - Tue, 05 Oct 2021 16:33:11 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 05 Oct 2021 16:33:11 +0200] rev 468
 
    - add cx_linked_list_sort()
 
    - Tue, 05 Oct 2021 13:04:20 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 05 Oct 2021 13:04:20 +0200] rev 467
 
    - remove unused cxLinkedListRecalculateSize()
It is not clear what this function was ever supposed to do. 
    - Tue, 05 Oct 2021 13:03:45 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 05 Oct 2021 13:03:45 +0200] rev 466
 
    - add special linked list implementation for storing pointers
 
    - Tue, 05 Oct 2021 12:25:23 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 05 Oct 2021 12:25:23 +0200] rev 465
 
    - remove redundant documentation for function pointers
 
    - Tue, 05 Oct 2021 12:23:46 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 05 Oct 2021 12:23:46 +0200] rev 464
 
    - add documentation for list.h
 
    - Tue, 05 Oct 2021 12:19:19 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 05 Oct 2021 12:19:19 +0200] rev 463
 
    - change src dir of Doxygen to only include header files
 
    - Tue, 05 Oct 2021 12:16:50 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 05 Oct 2021 12:16:50 +0200] rev 462
 
    - remove obsolete config from Doxyfile
 
    - Tue, 05 Oct 2021 12:12:09 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 05 Oct 2021 12:12:09 +0200] rev 461
 
    - put attributes on separate lines
 
    - Tue, 05 Oct 2021 11:19:32 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 05 Oct 2021 11:19:32 +0200] rev 460
 
    - remove convenience macros
Users should write their own wrappers s.t. the type
information does not have to be repeated on every
call site. 
    - Sun, 03 Oct 2021 18:51:44 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Oct 2021 18:51:44 +0200] rev 459
 
    - add tests for high level functions
 
    - Sun, 03 Oct 2021 18:37:13 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Oct 2021 18:37:13 +0200] rev 458
 
    - add convenience macros for pointer casts
 
    - Sun, 03 Oct 2021 18:36:51 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Oct 2021 18:36:51 +0200] rev 457
 
    - fix bad start index in cx_ll_node_at()
 
    - Sun, 03 Oct 2021 16:30:47 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Oct 2021 16:30:47 +0200] rev 456
 
    - change cx_linked_list_last() and add a test for it
 
    - Sun, 03 Oct 2021 16:02:53 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Oct 2021 16:02:53 +0200] rev 455
 
    - change test names
 
    - Sun, 03 Oct 2021 15:40:38 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Oct 2021 15:40:38 +0200] rev 454
 
    - remove unused cx_tree_last()
 
    - Sun, 03 Oct 2021 14:06:57 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Oct 2021 14:06:57 +0200] rev 453
 
    - add some documentation and changes some signatures
 
    - Sun, 03 Oct 2021 13:07:48 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Oct 2021 13:07:48 +0200] rev 452
 
    - add __alloc_size__ attribute
 
    - Sun, 03 Oct 2021 12:04:27 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Oct 2021 12:04:27 +0200] rev 451
 
    - make cx_linked_list_class static
 
    - Sun, 03 Oct 2021 12:02:57 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Oct 2021 12:02:57 +0200] rev 450
 
    - improves usage of attributes
 
    - Sun, 03 Oct 2021 10:43:31 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 03 Oct 2021 10:43:31 +0200] rev 449
 
    - minor code changes
These changes do not affect program behavior. 
    - Tue, 28 Sep 2021 18:49:12 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Sep 2021 18:49:12 +0200] rev 448
 
    - implement cx_ll_insert()
change cx_ll_add() to use insert with index=size 
    - Tue, 28 Sep 2021 18:33:42 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Sep 2021 18:33:42 +0200] rev 447
 
    - implement cx_ll_remove()
 
    - Tue, 28 Sep 2021 18:22:00 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Sep 2021 18:22:00 +0200] rev 446
 
    - remove unnecessary fields from linked list node and simplifies cx_ll_add()
 
    - Tue, 28 Sep 2021 18:09:25 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Sep 2021 18:09:25 +0200] rev 445
 
    - Automated merge
 
    - Tue, 28 Sep 2021 18:07:05 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Tue, 28 Sep 2021 18:07:05 +0200] rev 444
 
    - rename test_cx_linked_list_add
 
    - Tue, 28 Sep 2021 18:05:52 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Tue, 28 Sep 2021 18:05:52 +0200] rev 443
 
    - remove error handling from tests
 
    - Tue, 28 Sep 2021 18:03:10 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Tue, 28 Sep 2021 18:03:10 +0200] rev 442
 
    - add test for cx_linked_list_add
 
    - Tue, 28 Sep 2021 18:09:14 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Sep 2021 18:09:14 +0200] rev 441
 
    - change cxLinkedListCreate() setting all fields instead of calling cxListRecalculateSize()
 
    - Mon, 27 Sep 2021 18:57:17 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 27 Sep 2021 18:57:17 +0200] rev 440
 
    - fix mixed up cases in cx_ll_at()
 
    - Mon, 27 Sep 2021 18:50:07 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 27 Sep 2021 18:50:07 +0200] rev 439
 
    - add high-level function cxListAt()
 
    - Mon, 27 Sep 2021 18:33:30 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 27 Sep 2021 18:33:30 +0200] rev 438
 
    - add function cx_linked_list_at()
This commit also makes glue functions static. 
    - Mon, 27 Sep 2021 17:49:23 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 27 Sep 2021 17:49:23 +0200] rev 437
 
    - implement linked list find
 
    - Mon, 27 Sep 2021 17:00:19 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 27 Sep 2021 17:00:19 +0200] rev 436
 
    - add node destruction in cxLinkedListDestroy()
 
    - Sun, 26 Sep 2021 18:31:24 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 18:31:24 +0200] rev 435
 
    - change inheritance model for lists
 
    - Sun, 26 Sep 2021 18:01:51 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 18:01:51 +0200] rev 434
 
    - add attributes to allocator functions
 
    - Sun, 26 Sep 2021 17:58:27 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 17:58:27 +0200] rev 433
 
    - add option to enable more warnings
 
    - Sun, 26 Sep 2021 16:12:25 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 16:12:25 +0200] rev 432
 
    - Automated merge
 
    - Sun, 26 Sep 2021 15:43:58 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 26 Sep 2021 15:43:58 +0200] rev 431
 
    - implement cx_tree_add_child_node using cx_linked_list_add
 
    - Sun, 26 Sep 2021 15:43:41 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 26 Sep 2021 15:43:41 +0200] rev 430
 
    - add cx_tree_add_child_node tests
 
    - Sun, 26 Sep 2021 16:12:21 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 16:12:21 +0200] rev 429
 
    - add documentation to allocator.h
 
    - Sun, 26 Sep 2021 15:26:43 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 15:26:43 +0200] rev 428
 
    - fix special cases for linked_list_add
 
    - Sun, 26 Sep 2021 14:45:51 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 14:45:51 +0200] rev 427
 
    - Automated merge
 
    - Sun, 26 Sep 2021 14:41:49 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 26 Sep 2021 14:41:49 +0200] rev 426
 
    - implement cx_tree_add_node()
 
    - Sun, 26 Sep 2021 14:21:20 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 26 Sep 2021 14:21:20 +0200] rev 425
 
    - add cx_tree_add_node test
 
    - Sun, 26 Sep 2021 13:34:30 +0200
 
    - by Olaf Wintermann <olaf.wintermann@gmail.com> [Sun, 26 Sep 2021 13:34:30 +0200] rev 424
 
    - add some low level tree function declarations
 
    - Sun, 26 Sep 2021 14:45:42 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 14:45:42 +0200] rev 423
 
    - implement at least freeing the linked list container
 
    - Sun, 26 Sep 2021 14:41:16 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 14:41:16 +0200] rev 422
 
    - add utility to verify allocations
 
    - Sun, 26 Sep 2021 14:34:49 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 14:34:49 +0200] rev 421
 
    - fix reallocate_null test not used and wrong
 
    - Sun, 26 Sep 2021 13:41:52 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 13:41:52 +0200] rev 420
 
    - change detection of Doxygen
 
    - Sun, 26 Sep 2021 13:06:48 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 13:06:48 +0200] rev 419
 
    - remove public visibility of default allocator class
 
    - Sun, 26 Sep 2021 12:03:38 +0200
 
    - by Mike Becker <universe@uap-core.de> [Sun, 26 Sep 2021 12:03:38 +0200] rev 418
 
    - merge with remote default