Skip to content

@Yamakuzure Yamakuzure released this Sep 21, 2019

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 <basic/pwx_debug.h> for example.)
  • 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.yml file for automatic building on push.
  • test_lib now also tests the automatic growing of TOpenHash.
  • TOpenHash and TChainHash are 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 VTHashBase is now private and the accessors take care that nobody wreaks havoc.

Fixes

  • Fixed a possible access error in THashElement.
  • Fixed several possible access errors in VTHashBase.
  • Found and fixed a memory leak due to a typo in VTHashBase->clear().
  • The trace information eventually works correct.
  • Fixed an error in CThreadElementStore where an atomic store used loading memory order.
Assets 2

@Yamakuzure Yamakuzure released this Dec 14, 2018

This is the first release since the major rewrite away from being a JBoH library began.

Not everything is ported, yet.
But it's a start.
A start that makes me proud!

Assets 2
Pre-release

@Yamakuzure Yamakuzure released this Dec 13, 2018

This is Version 0.8.6, the last in JBOH development.

From here on pwxLib will be restructured and extended to become a real library.

Assets 2