changelog
    
    
    - Sat, 22 Jan 2022 19:04:32 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 22 Jan 2022 19:04:32 +0100] rev 496
 
    - add cx_foreach macro
 
    - Sat, 22 Jan 2022 18:49:06 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 22 Jan 2022 18:49:06 +0100] rev 495
 
    - add the feature to remove items during iteration
 
    - Sat, 22 Jan 2022 17:15:14 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 22 Jan 2022 17:15:14 +0100] rev 494
 
    - add iterator interface + linked list iterator
 
    - Sat, 22 Jan 2022 10:29:48 +0100
 
    - by Mike Becker <universe@uap-core.de> [Sat, 22 Jan 2022 10:29:48 +0100] rev 493
 
    - hide __attribute__ from compilers that may not support it
 
    - Tue, 28 Dec 2021 18:05:14 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Dec 2021 18:05:14 +0100] rev 492
 
    - simplifies some linked list tests
 
    - Tue, 28 Dec 2021 17:49:52 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Dec 2021 17:49:52 +0100] rev 491
 
    - fix missing cleanup in test_hl_linked_list_from_array
 
    - Tue, 28 Dec 2021 17:41:51 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Dec 2021 17:41:51 +0100] rev 490
 
    - add cxListReverse()
 
    - Tue, 28 Dec 2021 17:38:02 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Dec 2021 17:38:02 +0100] rev 489
 
    - add some const qualifiers
 
    - Tue, 28 Dec 2021 17:24:18 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Dec 2021 17:24:18 +0100] rev 488
 
    - add cxLinkedListFromArray() and cxListCompare()
 
    - Tue, 28 Dec 2021 14:25:05 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Dec 2021 14:25:05 +0100] rev 487
 
    - use c99 bool + add test for low level find
 
    - Tue, 28 Dec 2021 14:16:04 +0100
 
    - by Mike Becker <universe@uap-core.de> [Tue, 28 Dec 2021 14:16:04 +0100] rev 486
 
    - add cx_linked_list_compare() and simplifies some tests
 
    - Mon, 27 Dec 2021 17:16:32 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 27 Dec 2021 17:16:32 +0100] rev 485
 
    - use same doxygen style in all files
also adds doxygen main page 
    - Mon, 27 Dec 2021 17:02:32 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 27 Dec 2021 17:02:32 +0100] rev 484
 
    - add common.h include to all other header files
 
    - Mon, 27 Dec 2021 16:51:10 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 27 Dec 2021 16:51:10 +0100] rev 483
 
    - add ported UCX buffer implementation
Notes:
* ucx_buffer_extend has been removed
  in favor of cxBufferMinimumCapacity
* the buffer struct now has a union for
  char* and unsigned char* buffers 
    - Mon, 27 Dec 2021 14:44:08 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 27 Dec 2021 14:44:08 +0100] rev 482
 
    - add tests for the new low level functions
 
    - 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)