Assets 4

These are precompiled binaries, symbols, and source code for bss-util v0.5.0 for both Windows and POSIX compatible systems.

  • Added AttemptRLock(), AttemptStrictLock() to RWLock
  • Removed thread-specific debug assertions in RWLock to allow complex usage
  • Rewrote ring allocator with a per-bucket RWLock
  • Added a Semaphore class to Thread and removed Thread Signal()/Wait()
  • Rewrote ThreadPool to actually work properly
  • Added Future class that utilizes ThreadPool
  • Added SafeFormat() function which allows you to format output to an std::ostream via "{0}{1}" notation
  • Rewrote Logger class for more customizability, adding source parameter, maximum error level, and formatting.
  • Removed fastcall because it doesn't do anything on 64-bit platforms
  • Removed BSS_EXPLICITSTATIC by fixing BSS_FORCEINLINE on clang/GCC, and removing spurious static keywords
  • Added GetFontPath() for windows
  • Updated khash.h and the corresponding cHash templatized version of it.
  • Added CompactArray for creating simplistic arrays that avoid heap allocation as much as possible
  • Moved FACTION to Traverse() in KDtree
  • cTRBTree can now be used statically, and properly calls destructors
  • changed include folder structure for vcpkg compatibility
  • inverted include order on tests to catch header file mistakes
  • Internal function refactored to camelCase
  • All public functions that aren't meant to mimic standard library functions are now Capitalized
  • Some function names have been expanded to full words for readability
  • Singleton behavior has been changed, and now does not provide Instance() or instantiate the static variable for you to prevent DLL boundary accidents.
  • bssFill added as typesafe alternative to memset()
  • Removed rswap() and bssReverse(), use std::swap and std::reverse instead.
  • Moved internal entities into the "internal" namespace
  • Moved UTF function declarations to utf_conv.h
  • Version info is now an exported symbol, thus accurately reflecting the version of the compiled DLL itself
  • Fixed minor bugs in XML and TOML parsers
  • Added install/uninstall to makefile