more custom data for array re-allocator

proposal for a low level array copy

implement array list ctor and dtor

add array list tests

fix typo in compare.h

change hash functions

fix missing const in cx_hash_key signature

use ucx compare function in list tests

add compare functions

east const

#222 add printf-like functions

#217 cover cx_strreplace_a() macro

#217 cover cx_strcat macro

#216 test hashing functions

remove unnecessary code

add test for cxMapClear()

explicitly cast int to char

enclose macro arguments in parenthesis

fix over-optimization of strstr

fix missing zero-termination in strreplace

add zero-termination guarantees

do not use c++ object initialization

use EXPECT_STREQ instead of strcmp

add tests for strupper and strlower

add test coverage for _m variant functions

disallow NULL for cx_str() and cx_mutstr()

add tests and missing implementations for strings

implement strupper and strlower

implement more string functions

more implementations of string functions

start implementing string functions

some function can be macros using the default allocator

wrong position of struct identifier

first proposal for the string header

fix #200 - key contents not compared in cx_hash_map_put()

invert if-condition in preparation for the next bugfix

remove unused variable (return immediately)

#201 - remove dangerous allocator config

#201 - add mempool implementation

remove currently unused ssize_t definition

#170 test cxBufferRead

#170 test cxBufferGet

#184 #170 more thorough flush testing

fix two tests reading one byte too much

fix putc tests to make more sense of the bitwise or

fix obsolete documentation

improve hash key handling

#189 #199 implement and test map rehash

#199 test removing via iterator

fix wrong slot and index numbers

corrects documentation of iterator behavior

add convenience function to make keys from strings

remove unused header

#199 tests for hash map

fix documentation for map iterators

fix kv-pair not initialized

fix missing static inline for map functions

#178 fix that lists of different kind cannot be compared

#189 implement map iterators

#189 basic map implementation

#189 declare basic map functions

#170 test buffer eof

#170 test buffer seek

#184 #170 flush at threshold test

#184 #170 first basic flush test

#184 untested implementation of the flush feature

optimization for buffer write easy cases

#170 no bug never existed

#170 complete write tests for status quo

fix regression: nitems adjusted at the wrong location

#184 start implementation of the flush feature

#170 first basic write tests

fix doc error for cxBufferWrite

#170 add cxBufferClear test

#170 add several more buffer tests

fix cxBufferMinimumCapacity not using the allocator

do not implicitly zero freshly allocated memory

fix cxBufferMinimumCapacity implementation still using additional_bytes

fix erroneous doc for cxBufferShift

#170 first buffer tests

#171 const qualifier and nonnull attributes

#179 improve API for list content destruction

add doc for cx_for_n

simplify destructor signature (but loads more responsibility onto the user)

simplify auto-free contents in lists

remove list destructor

configure clang-tidy to ignore cert-err58-cpp for test code

add [[maybe_unused]] attributed to params of mocked function

add test for cxListCompare

fix memory leak in test data

make cxListMemoryMgmt a linkable symbol

improve testing allocator + add tests for it

migrate list tests to gtest

fix required cast if compiled with C++

migrate tree tests to gtest

test uncovered branch in cxReallocate()

do not use macro for suite name

compile only one single binary for tests

migrate allocator tests to gtest

add googletest framework

#129 - remove test code duplication

#168 - add attributes and const

remove test code duplication for cxListAdd

add setup and teardown functions to test_list.c

fix typo in documentation

add convenience function to configure list memory management

add new destructor API and apply it to CxList

change Doxyfile to ignore __attribute__ and include static inline functions

add allocator support to CxBuffer

do not hide pointers behind typedefs

add cxListInsertAfter() and cxListInsertBefore()

reorder the list test functions

pointer type must be explicit in cx_foreach macro

add cx_foreach macro

add the feature to remove items during iteration

add iterator interface + linked list iterator

hide __attribute__ from compilers that may not support it

simplifies some linked list tests

fix missing cleanup in test_hl_linked_list_from_array

add cxListReverse()

add some const qualifiers

add cxLinkedListFromArray() and cxListCompare()

use c99 bool + add test for low level find

add cx_linked_list_compare() and simplifies some tests

use same doxygen style in all files

add common.h include to all other header files

add ported UCX buffer implementation

add tests for the new low level functions

add several new linked list functions

add cx_linked_list_find()

add linked list tests for cxListAt()

add more nonnull attributes

add more explicit documentation to cx_linked_list_remove()

change contract of cx_linked_list_remove()

add cx_linked_list_first() + cx_linked_list_prepend()

remove cxListLast (can be realized via cxListAt and index=size-1)

add cx_linked_list_{prev, remove, reverse}

move dereference operation into macro

add new ucx_list_sort test support/2.x

add tree.h to list of headers

add high level list sort and inlines method invocation functions

add cx_linked_list_sort()

remove unused cxLinkedListRecalculateSize()

add special linked list implementation for storing pointers

remove redundant documentation for function pointers

add documentation for list.h

change src dir of Doxygen to only include header files

remove obsolete config from Doxyfile

put attributes on separate lines

remove convenience macros

add tests for high level functions

add convenience macros for pointer casts

fix bad start index in cx_ll_node_at()

change cx_linked_list_last() and add a test for it

change test names

remove unused cx_tree_last()

add some documentation and changes some signatures

add __alloc_size__ attribute

make cx_linked_list_class static

improves usage of attributes

minor code changes

implement cx_ll_insert()

implement cx_ll_remove()

remove unnecessary fields from linked list node and simplifies cx_ll_add()

Automated merge

rename test_cx_linked_list_add

remove error handling from tests

add test for cx_linked_list_add

change cxLinkedListCreate() setting all fields instead of calling cxListRecalculateSize()

fix mixed up cases in cx_ll_at()

add high-level function cxListAt()

add function cx_linked_list_at()

implement linked list find

add node destruction in cxLinkedListDestroy()

change inheritance model for lists

add attributes to allocator functions

add option to enable more warnings

Automated merge

implement cx_tree_add_child_node using cx_linked_list_add

add cx_tree_add_child_node tests

add documentation to allocator.h

fix special cases for linked_list_add

Automated merge

implement cx_tree_add_node()

add cx_tree_add_node test

add some low level tree function declarations

implement at least freeing the linked list container

add utility to verify allocations

fix reallocate_null test not used and wrong

change detection of Doxygen

remove public visibility of default allocator class

merge with remote default

add missing quotation marks

remove unnecessary check

fix missing extern "C"

adds cxReallocate()

perform array and list tests in the same test binary (use the same assertions, later)

removes stupid high level wrapper for linked lists + adds test for cxLinkedListCreate

add first test suite to test_linked_list.c

add test config and let the test binary return nonzero on test failures

adds cxLinkedListDestroy prototype

fixes cx_linked_list_add not recalculating end

simplifies linked list descriptor

adds cxLinkedListWrap and cxLinkedListRecalculateSize

removes unnecessary typedefs

adds cxListLast

use C99 flexible array to mark the node's payload

use named fields to access node memory

copy list items when they are added to the list

changes off_t to ptrdiff_t

adds missing assignments for new list node

adds first draft for linked list implementation

removes unnecessary cx_allocator typedef

make cx_allocator_class shared

fixes missing CUnit include dir

high level allocator functions should be real functions, not macros

no C99 comments

add at least a cxFree() call, even if we can't test it

adds allocator interface and default implementation

starts ucx 3.0 development

Added tag v2.1 for changeset 871a8ffe6c9d

merges closed feature/array branch v2.1

closes array branch towards ucx 2.1 release feature/array

adds changelog to html documentation

fix: missing test header files in make dist target

fixes build on FreeBSD and macOS

fixes string replace function in case replmax is 0

adds more sstrreplace tests

adds CHANGELOG

fixes another leak in string replace function

fix: index buffer in string replace was not freed

adds string replace functions

adds install target for cmake builds

fixes logging of absolute paths in ucx_logger_logf()

adds proper cmake build targets

adds set operations for UcxMap

adds missing documentation for custom multiplication function

adds very simple cmake wrapper

adds set operations to UcxList

updates the web doc for array

(0) -240 +240 tip

mercurial