Version 0.9.0 Release - 2019-09-21
This is a major overhaul with many fixes and changes!
Note: The automatic micro-locking is (intentionally) overdoing right now, but this will be fixed for the next release.
Changes and additions
- The API has been completely overhauled and should now have reached its final form. From here on the API may be extended, but changes shall be rare and removals non-existent.
- The stupid
pwx_prefixes for header names are gone. Instead, generalized
<PFoo>headers have been added, inspired by the
<QFoo>headers of Qt. (some minor headers still have a
pwx_prefix to not clash with other headers, like
- Thread safety has been greatly improved, and gcc-9.2.0 ThreadSanitizer does not find anything any more in test_lib.
- The API documentation, although not fully complete, yet, has been overhauled and fixed.
- The library now has a Travis account and a
.travis.ymlfile for automatic building on push.
test_libnow also tests the automatic growing of
TChainHashare now properly described.
- Removed the artificial limit for insertions of 1000000 elements from VTHashBase.
- Most tool macros now support, some even enforce, to be ended with a semicolon.
- Container and element destructors now wait until no other thread is waiting for a lock, before finalizing the dtor.
- The hash table in
VTHashBaseis now private and the accessors take care that nobody wreaks havoc.
- Fixed a possible access error in
- Fixed several possible access errors in
- Found and fixed a memory leak due to a typo in
- The trace information eventually works correct.
- Fixed an error in
CThreadElementStorewhere an atomic store used loading memory order.