\par How to build
The <b>cds</b> is mostly header-only library. Only small part of library related to GC core functionality
- should be compiled.
+ should be compiled. <b>cds</b> depends on C++ standard library only.
- External dependenies: the tests depends on:
+ Test suite depends on:
- \p boost.thread (thread-loal storage support), boost.system
- \p google-test
- <a href="http://www.boost.org/">boost library</a> 1.51 and above. You should create environment variable
\p BOOST_PATH containing full path to \p boost root directory (for example, <tt>C:\\libs\\boost_1_57_0</tt>).
- Open solution file <tt>cds\projects\vc14\cds.sln</tt> with Microsoft VisualStudio 2015.
+ Open solution file <tt>cds\projects\vc141\cds.sln</tt> with Microsoft VisualStudio 2017.
The solution contains \p cds project and a lot of test projects. Just build the library using solution.
<b>Warning</b>: the solution depends on \p BOOST_PATH environment variable that specifies full path
For Unix-like systems GCC and Clang compilers are supported.
Use GCC 4.8+ compiler or Clang 3.6+ to build <b>cds</b> library with CMake.
See accompanying file <tt>/build/cmake/readme.md</tt> for more info.
-
- @note Important for GCC compiler: all your projects that use \p libcds must be compiled with <b>-fno-strict-aliasing</b>
- compiler flag.
-
*/
# define CDS_VERIFY( _expr ) assert( _expr )
# define CDS_VERIFY_FALSE( _expr ) assert( !( _expr ))
# define CDS_DEBUG_ONLY( _expr ) _expr
+# define CDS_VERIFY_EQ( expr, val ) assert( expr == val )
#else
# define CDS_VERIFY( _expr ) _expr
# define CDS_VERIFY_FALSE( _expr ) _expr
# define CDS_DEBUG_ONLY( _expr )
+# define CDS_VERIFY_EQ( expr, val ) expr
#endif
#ifdef CDS_STRICT