Skip to content

libcds 2.1.0

Compare
Choose a tag to compare
@khizmax khizmax released this 06 Jan 12:40
· 984 commits to master since this release
General release
- Added: FeldmanHashSet/Map - an interesting hash map algorithm
  based on multi-level array, requires perfect hashing or fixed-sized keys.
  Supports thread-safe bidirectional iterators.
- Added: BronsonAVLTreeMap - Bronson's et al AVL tree implementation
- Added: CMake build script, thanks to Eugeny Kalishenko
- Changed: SplitList performance improving, thanks to Mike Krinkin
- Changed: semantic of member functions extract(), get() and its
  variants for MichaelList RCU-based specialization: extract() does not
  require RCU locking, get() now returns special wrapper object of type raw_ptr,
  see doc.
  Thus, semantics of extract()/get() of all RCU-based set and maps based on 
  MichaelList (MichaelSet/Map, SplitListSet/Map) has been changed too.
- Changed: SplitListSet/Map functions get() and get_with() return special wrapper
  object of type raw_ptr, see doc.
- Removed: SplitListSet/Map force_dispose() function.
- cds::lock namespace is renamed to cds::sync. All classes defined in cds::lock namespace 
  are moved to cds::sync with new names (for example, cds:: lock ::SpinLock is renamed to
  cds::sync::spin_lock). cds::lock namespace and its contents is deprecated, it is kept 
  for backward compatibility.
- The library has been checked by ThreadSanitizer, a lot of bugs has been fixed
- Added support for clang 3.7 with libc++