* Make sdb compilable as C++
* Add casts as void* is not typable enough
* Add ls_foreach_cast
* ht_inc.h is now named ht.inc
* Add 'make x' or 'make o' to compile in c++ or in a single shot
* Remove macros from text.c
* Avoid using extern when its not extern
* Add missing license headers
* Add extern "C" in all the include files
* Test C++ builds in the CI
* Nuke sdb_fmt
* Mark goto tables as const
* Mark lookup table as const
* Move nextcas into SdbKv
* Remove global hook (cannot be used without TLS, but we want to avoid
that)
* Fix lock path to not use a static buffer
Merge sort uses cmp (a, b) < 0 for its first test branch, and insertion
sort cmp (a, b) > 0 ; which means the 0 boundary goes in one case in one
branch, and in the other sort function in the other branch.
We keep the semantics of the insertion sort, it makes it possible to
support compare function that return true/false instead of a distance
between items.
Add a test that was previously failing for merge sort, but working with
insertion sort, although the function is not exposed, it only triggers
at > 43 elements.
The main difference is the test function that sends true/false instead
of a difference between two integers.
* Fixes for pkgconfig and meson
* Install missing headers
* Make tests runnable even if sdb is not installed
* refactor CFLAGS/LDFLAGS/SDB env var settings
* ht: remove load_factor field and introduce ht_new_size API
* handle more than the max number of precomputed prime indexes
* use HtKv inside SdbHtKv instead of copying its fields
* query: fix compiler warning by adding (char *)
* sdbht: create BUCKET macro
* ht: do not use macros, prefer static functions
* install missing headers
* make tests runnable even if sdb is not installed
* refactor CFLAGS/LDFLAGS/SDB env var settings
* sdb-test.mk: do not use -static because it doesn't work on OS X
* test: use sdb-test.sh in suite/run.sh too
* sdb-test.sh: fix current path detection
ht.c and ht.h old a general implementation, on the other hand sdbht.c
and sdbht.h use ht.c and ht.h with value as a char*.
The idea will be to use this hashtable implementation within r2