Download Latest Version cds-2.3.2.tar.gz (4.6 MB)
Email in envelope

Get an email when there's a new version of cds

Home / cds-1.0.0
Name Modified Size InfoDownloads / Week
Parent folder
README.txt 2012-01-13 1.8 kB
cds-1.0.0.zip 2011-12-31 2.2 MB
cds-1.0.0.tar.gz 2011-12-31 1.4 MB
Totals: 3 Items   3.6 MB 0
This version is completely rewritten to support intrusive version of lock-free containers
and more lightweight garbage collectors interface. The class hierarchy and interfaces have been completely reimplemented from scratch.

1. Added: intrusive containers. Many lock-free containers in libcds have the intrusive counterparts. The library is fully refactored to support intrusive containers.
   Class hierarchy is changed: almost all non-intrusive container classes are based on their intrusive versions.
   Two new namespace is added:
	cds::intrusive - for intrusive containers
	cds::container - for non-intrusive containers
   Namespaces by container type (cds::queue, cds::map and so on) have been removed.
   
2. Added: New option-based approach is used for class declaration instead
   old traits-based one. This approach allows to declare template arguments
   in position-independent manner that is very useful for complex template declarations.
   Option-based declarations use C++0x variadic templates if compiler supports it (GCC),
   otherwise (MS VC) an emulation is used.
   
3. Changed: garbage collectors interface is generalized. cds::gc::GC (where GC is one of HP, HRC, PTB) classes has been added.
4. Removed: tagged pointer GC. This GC
   - unsafe for complex data structure
   - x86-specific since it requires double-width CAS primitive
   - memory-consuming since it requires separate free-list for each type stored in the containers
   
5. Default threading model is changed (see doc for cds::threading namespace):
   - for Windows and MSVC++, CDS_THREADING_WIN_TLS is the default now
   - for *nix and GCC, CDS_THREADING_PTHREAD is the default now
   
6. Added GCC 4.6 support (constexpr)

7. Added Microsoft Visual Studio 2010 (vc10) solution
Source: README.txt, updated 2012-01-13