Merged branch 'master' of https://github.com/Nemo1369/libcds
authorkhizmax <khizmax@gmail.com>
Mon, 16 Jan 2017 09:28:09 +0000 (12:28 +0300)
committerkhizmax <khizmax@gmail.com>
Mon, 16 Jan 2017 09:28:09 +0000 (12:28 +0300)
- CMake-fied boost integration support implemented. macOS RPATH policy
- Buggy CMake try_compile when crosscompiling hacked with optional Threads
- Threads package made totally optional. Would be found when not crosscompiling and would not be when either.
- Crosscompilation target architecture made required to be set explicitly
- Implemented support for ARMv8 (64 bit arm)

1088 files changed:
.gitignore
CMakeLists.txt
cds/algo/atomic.h
cds/algo/backoff_strategy.h
cds/algo/base.h
cds/algo/bitop.h
cds/algo/elimination.h
cds/algo/elimination_opt.h
cds/algo/elimination_tls.h
cds/algo/flat_combining.h
cds/algo/flat_combining/defs.h
cds/algo/flat_combining/kernel.h
cds/algo/flat_combining/wait_strategy.h
cds/algo/int_algo.h
cds/algo/split_bitstring.h
cds/compiler/backoff.h
cds/compiler/bitop.h
cds/compiler/clang/defs.h
cds/compiler/cxx11_atomic.h
cds/compiler/defs.h
cds/compiler/feature_tsan.h
cds/compiler/gcc/amd64/backoff.h
cds/compiler/gcc/amd64/bitop.h
cds/compiler/gcc/amd64/cxx11_atomic.h
cds/compiler/gcc/compiler_barriers.h
cds/compiler/gcc/compiler_macro.h
cds/compiler/gcc/defs.h
cds/compiler/gcc/ia64/backoff.h
cds/compiler/gcc/ia64/bitop.h
cds/compiler/gcc/ia64/cxx11_atomic.h
cds/compiler/gcc/ppc64/backoff.h
cds/compiler/gcc/ppc64/bitop.h
cds/compiler/gcc/sparc/backoff.h
cds/compiler/gcc/sparc/bitop.h
cds/compiler/gcc/sparc/cxx11_atomic.h
cds/compiler/gcc/x86/backoff.h
cds/compiler/gcc/x86/bitop.h
cds/compiler/gcc/x86/cxx11_atomic.h
cds/compiler/gcc/x86/cxx11_atomic32.h
cds/compiler/icl/compiler_barriers.h
cds/compiler/icl/defs.h
cds/compiler/vc/amd64/backoff.h
cds/compiler/vc/amd64/bitop.h
cds/compiler/vc/amd64/cxx11_atomic.h
cds/compiler/vc/compiler_barriers.h
cds/compiler/vc/defs.h
cds/compiler/vc/x86/backoff.h
cds/compiler/vc/x86/bitop.h
cds/compiler/vc/x86/cxx11_atomic.h
cds/container/basket_queue.h
cds/container/bronson_avltree_map_rcu.h
cds/container/cuckoo_map.h
cds/container/cuckoo_set.h
cds/container/details/base.h
cds/container/details/bronson_avltree_base.h
cds/container/details/cuckoo_base.h
cds/container/details/ellen_bintree_base.h
cds/container/details/feldman_hashmap_base.h
cds/container/details/feldman_hashset_base.h
cds/container/details/guarded_ptr_cast.h
cds/container/details/iterable_list_base.h
cds/container/details/lazy_list_base.h
cds/container/details/make_iterable_kvlist.h
cds/container/details/make_iterable_list.h
cds/container/details/make_lazy_kvlist.h
cds/container/details/make_lazy_list.h
cds/container/details/make_michael_kvlist.h
cds/container/details/make_michael_list.h
cds/container/details/make_skip_list_map.h
cds/container/details/make_skip_list_set.h
cds/container/details/make_split_list_set.h
cds/container/details/make_split_list_set_iterable_list.h
cds/container/details/make_split_list_set_lazy_list.h
cds/container/details/make_split_list_set_michael_list.h
cds/container/details/michael_list_base.h
cds/container/details/michael_map_base.h
cds/container/details/michael_set_base.h
cds/container/details/skip_list_base.h
cds/container/details/split_list_base.h
cds/container/ellen_bintree_map_dhp.h
cds/container/ellen_bintree_map_hp.h
cds/container/ellen_bintree_map_rcu.h
cds/container/ellen_bintree_set_dhp.h
cds/container/ellen_bintree_set_hp.h
cds/container/ellen_bintree_set_rcu.h
cds/container/fcdeque.h
cds/container/fcpriority_queue.h
cds/container/fcqueue.h
cds/container/fcstack.h
cds/container/feldman_hashmap_dhp.h
cds/container/feldman_hashmap_hp.h
cds/container/feldman_hashmap_rcu.h
cds/container/feldman_hashset_dhp.h
cds/container/feldman_hashset_hp.h
cds/container/feldman_hashset_rcu.h
cds/container/impl/bronson_avltree_map_rcu.h
cds/container/impl/ellen_bintree_map.h
cds/container/impl/ellen_bintree_set.h
cds/container/impl/feldman_hashmap.h
cds/container/impl/feldman_hashset.h
cds/container/impl/iterable_kvlist.h
cds/container/impl/iterable_list.h
cds/container/impl/lazy_kvlist.h
cds/container/impl/lazy_list.h
cds/container/impl/michael_kvlist.h
cds/container/impl/michael_list.h
cds/container/impl/skip_list_map.h
cds/container/impl/skip_list_set.h
cds/container/iterable_kvlist_dhp.h
cds/container/iterable_kvlist_hp.h
cds/container/iterable_list_dhp.h
cds/container/iterable_list_hp.h
cds/container/lazy_kvlist_dhp.h
cds/container/lazy_kvlist_hp.h
cds/container/lazy_kvlist_nogc.h
cds/container/lazy_kvlist_rcu.h
cds/container/lazy_list_dhp.h
cds/container/lazy_list_hp.h
cds/container/lazy_list_nogc.h
cds/container/lazy_list_rcu.h
cds/container/michael_kvlist_dhp.h
cds/container/michael_kvlist_hp.h
cds/container/michael_kvlist_nogc.h
cds/container/michael_kvlist_rcu.h
cds/container/michael_list_dhp.h
cds/container/michael_list_hp.h
cds/container/michael_list_nogc.h
cds/container/michael_list_rcu.h
cds/container/michael_map.h
cds/container/michael_map_nogc.h
cds/container/michael_map_rcu.h
cds/container/michael_set.h
cds/container/michael_set_nogc.h
cds/container/michael_set_rcu.h
cds/container/moir_queue.h
cds/container/mspriority_queue.h
cds/container/msqueue.h
cds/container/optimistic_queue.h
cds/container/rwqueue.h
cds/container/segmented_queue.h
cds/container/skip_list_map_dhp.h
cds/container/skip_list_map_hp.h
cds/container/skip_list_map_nogc.h
cds/container/skip_list_map_rcu.h
cds/container/skip_list_set_dhp.h
cds/container/skip_list_set_hp.h
cds/container/skip_list_set_nogc.h
cds/container/skip_list_set_rcu.h
cds/container/split_list_map.h
cds/container/split_list_map_nogc.h
cds/container/split_list_map_rcu.h
cds/container/split_list_set.h
cds/container/split_list_set_nogc.h
cds/container/split_list_set_rcu.h
cds/container/striped_map.h
cds/container/striped_map/boost_flat_map.h
cds/container/striped_map/boost_list.h
cds/container/striped_map/boost_map.h
cds/container/striped_map/boost_slist.h
cds/container/striped_map/boost_unordered_map.h
cds/container/striped_map/std_hash_map.h
cds/container/striped_map/std_list.h
cds/container/striped_map/std_map.h
cds/container/striped_set.h
cds/container/striped_set/adapter.h
cds/container/striped_set/boost_flat_set.h
cds/container/striped_set/boost_list.h
cds/container/striped_set/boost_set.h
cds/container/striped_set/boost_slist.h
cds/container/striped_set/boost_stable_vector.h
cds/container/striped_set/boost_unordered_set.h
cds/container/striped_set/boost_vector.h
cds/container/striped_set/std_hash_set.h
cds/container/striped_set/std_list.h
cds/container/striped_set/std_set.h
cds/container/striped_set/std_vector.h
cds/container/treiber_stack.h
cds/container/vyukov_mpmc_cycle_queue.h
cds/details/aligned_allocator.h
cds/details/aligned_type.h
cds/details/allocator.h
cds/details/binary_functor_wrapper.h
cds/details/bit_reverse_counter.h
cds/details/bitop_generic.h
cds/details/bounded_array.h
cds/details/bounded_container.h
cds/details/defs.h
cds/details/is_aligned.h
cds/details/lib.h
cds/details/make_const_type.h
cds/details/marked_ptr.h
cds/details/static_functor.h
cds/details/throw_exception.h [new file with mode: 0644]
cds/details/trivial_assign.h
cds/details/type_padding.h
cds/gc/default_gc.h
cds/gc/details/dhp.h [deleted file]
cds/gc/details/hp.h [deleted file]
cds/gc/details/hp_alloc.h [deleted file]
cds/gc/details/hp_common.h [new file with mode: 0644]
cds/gc/details/hp_type.h [deleted file]
cds/gc/details/retired_ptr.h
cds/gc/dhp.h
cds/gc/dhp_smr.h [new file with mode: 0644]
cds/gc/hp.h
cds/gc/hp_smr.h [new file with mode: 0644]
cds/gc/impl/dhp_decl.h [deleted file]
cds/gc/impl/dhp_impl.h [deleted file]
cds/gc/impl/hp_decl.h [deleted file]
cds/gc/impl/hp_impl.h [deleted file]
cds/gc/nogc.h
cds/init.h
cds/intrusive/basket_queue.h
cds/intrusive/cuckoo_set.h
cds/intrusive/details/base.h
cds/intrusive/details/ellen_bintree_base.h
cds/intrusive/details/feldman_hashset_base.h
cds/intrusive/details/iterable_list_base.h
cds/intrusive/details/lazy_list_base.h
cds/intrusive/details/michael_list_base.h
cds/intrusive/details/michael_set_base.h
cds/intrusive/details/node_traits.h
cds/intrusive/details/raw_ptr_disposer.h
cds/intrusive/details/single_link_struct.h
cds/intrusive/details/skip_list_base.h
cds/intrusive/details/split_list_base.h
cds/intrusive/ellen_bintree_dhp.h
cds/intrusive/ellen_bintree_hp.h
cds/intrusive/ellen_bintree_rcu.h
cds/intrusive/fcqueue.h
cds/intrusive/fcstack.h
cds/intrusive/feldman_hashset_dhp.h
cds/intrusive/feldman_hashset_hp.h
cds/intrusive/feldman_hashset_rcu.h
cds/intrusive/free_list.h
cds/intrusive/free_list_cached.h
cds/intrusive/free_list_selector.h
cds/intrusive/free_list_tagged.h
cds/intrusive/impl/ellen_bintree.h
cds/intrusive/impl/feldman_hashset.h
cds/intrusive/impl/iterable_list.h
cds/intrusive/impl/lazy_list.h
cds/intrusive/impl/michael_list.h
cds/intrusive/impl/skip_list.h
cds/intrusive/iterable_list_dhp.h
cds/intrusive/iterable_list_hp.h
cds/intrusive/lazy_list_dhp.h
cds/intrusive/lazy_list_hp.h
cds/intrusive/lazy_list_nogc.h
cds/intrusive/lazy_list_rcu.h
cds/intrusive/michael_list_dhp.h
cds/intrusive/michael_list_hp.h
cds/intrusive/michael_list_nogc.h
cds/intrusive/michael_list_rcu.h
cds/intrusive/michael_set.h
cds/intrusive/michael_set_nogc.h
cds/intrusive/michael_set_rcu.h
cds/intrusive/moir_queue.h
cds/intrusive/mspriority_queue.h
cds/intrusive/msqueue.h
cds/intrusive/optimistic_queue.h
cds/intrusive/options.h
cds/intrusive/segmented_queue.h
cds/intrusive/skip_list_dhp.h
cds/intrusive/skip_list_hp.h
cds/intrusive/skip_list_nogc.h
cds/intrusive/skip_list_rcu.h
cds/intrusive/split_list.h
cds/intrusive/split_list_nogc.h
cds/intrusive/split_list_rcu.h
cds/intrusive/striped_set.h
cds/intrusive/striped_set/adapter.h
cds/intrusive/striped_set/boost_avl_set.h
cds/intrusive/striped_set/boost_list.h
cds/intrusive/striped_set/boost_set.h
cds/intrusive/striped_set/boost_sg_set.h
cds/intrusive/striped_set/boost_slist.h
cds/intrusive/striped_set/boost_splay_set.h
cds/intrusive/striped_set/boost_treap_set.h
cds/intrusive/striped_set/boost_unordered_set.h
cds/intrusive/striped_set/resizing_policy.h
cds/intrusive/striped_set/striping_policy.h
cds/intrusive/treiber_stack.h
cds/intrusive/vyukov_mpmc_cycle_queue.h
cds/lock/array.h
cds/lock/spinlock.h
cds/memory/michael/allocator.h [deleted file]
cds/memory/michael/bound_check.h [deleted file]
cds/memory/michael/options.h [deleted file]
cds/memory/michael/osalloc_stat.h [deleted file]
cds/memory/michael/procheap_stat.h [deleted file]
cds/memory/pool_allocator.h
cds/memory/vyukov_queue_pool.h
cds/opt/buffer.h
cds/opt/compare.h
cds/opt/hash.h
cds/opt/options.h
cds/opt/permutation.h
cds/opt/value_cleaner.h
cds/os/aix/alloc_aligned.h
cds/os/aix/timer.h
cds/os/aix/topology.h
cds/os/alloc_aligned.h
cds/os/details/fake_topology.h
cds/os/free_bsd/alloc_aligned.h
cds/os/free_bsd/timer.h
cds/os/free_bsd/topology.h
cds/os/hpux/alloc_aligned.h
cds/os/hpux/timer.h
cds/os/hpux/topology.h
cds/os/libc/alloc_aligned.h
cds/os/linux/alloc_aligned.h
cds/os/linux/timer.h
cds/os/linux/topology.h
cds/os/osx/timer.h
cds/os/osx/topology.h
cds/os/posix/alloc_aligned.h
cds/os/posix/fake_topology.h
cds/os/posix/thread.h
cds/os/posix/timer.h
cds/os/sunos/alloc_aligned.h
cds/os/sunos/timer.h
cds/os/sunos/topology.h
cds/os/thread.h
cds/os/timer.h
cds/os/topology.h
cds/os/win/alloc_aligned.h
cds/os/win/thread.h
cds/os/win/timer.h
cds/os/win/topology.h
cds/sync/injecting_monitor.h
cds/sync/lock_array.h
cds/sync/monitor.h
cds/sync/pool_monitor.h
cds/sync/spinlock.h
cds/threading/details/_common.h
cds/threading/details/auto_detect.h
cds/threading/details/cxx11.h
cds/threading/details/cxx11_manager.h
cds/threading/details/gcc.h
cds/threading/details/gcc_manager.h
cds/threading/details/msvc.h
cds/threading/details/msvc_manager.h
cds/threading/details/pthread.h
cds/threading/details/pthread_manager.h
cds/threading/details/wintls.h
cds/threading/details/wintls_manager.h
cds/threading/model.h
cds/urcu/details/base.h
cds/urcu/details/check_deadlock.h
cds/urcu/details/gp.h
cds/urcu/details/gp_decl.h
cds/urcu/details/gpb.h
cds/urcu/details/gpi.h
cds/urcu/details/gpt.h
cds/urcu/details/sh.h
cds/urcu/details/sh_decl.h
cds/urcu/details/sig_buffered.h
cds/urcu/details/sig_threaded.h
cds/urcu/dispose_thread.h
cds/urcu/exempt_ptr.h
cds/urcu/general_buffered.h
cds/urcu/general_instant.h
cds/urcu/general_threaded.h
cds/urcu/options.h
cds/urcu/raw_ptr.h
cds/urcu/signal_buffered.h
cds/urcu/signal_threaded.h
cds/user_setup/allocator.h
cds/user_setup/cache_line.h
cds/user_setup/threading.h
cds/version.h
change.log
doxygen/cds.doxy
doxygen/footer.html
projects/Win/vc14/cds.vcxproj
projects/Win/vc14/cds.vcxproj.filters
projects/Win/vc14/gtest-deque.vcxproj
projects/Win/vc14/gtest-ilist-iterable.vcxproj
projects/Win/vc14/gtest-ilist-lazy.vcxproj
projects/Win/vc14/gtest-ilist-michael.vcxproj
projects/Win/vc14/gtest-iset-feldman.vcxproj
projects/Win/vc14/gtest-iset-michael-iterable.vcxproj
projects/Win/vc14/gtest-iset-michael-lazy.vcxproj
projects/Win/vc14/gtest-iset-michael.vcxproj
projects/Win/vc14/gtest-iset-skip.vcxproj
projects/Win/vc14/gtest-iset-split-iterable.vcxproj
projects/Win/vc14/gtest-iset-split-lazy.vcxproj
projects/Win/vc14/gtest-iset-split-michael.vcxproj
projects/Win/vc14/gtest-list-iterable.vcxproj
projects/Win/vc14/gtest-list-lazy.vcxproj
projects/Win/vc14/gtest-list-michael.vcxproj
projects/Win/vc14/gtest-map-feldman.vcxproj
projects/Win/vc14/gtest-map-michael-iterable.vcxproj
projects/Win/vc14/gtest-map-michael-lazy.vcxproj
projects/Win/vc14/gtest-map-michael.vcxproj
projects/Win/vc14/gtest-map-skip.vcxproj
projects/Win/vc14/gtest-map-split-iterable.vcxproj
projects/Win/vc14/gtest-map-split-lazy.vcxproj
projects/Win/vc14/gtest-map-split-michael.vcxproj
projects/Win/vc14/gtest-misc.vcxproj
projects/Win/vc14/gtest-pqueue.vcxproj
projects/Win/vc14/gtest-queue.vcxproj
projects/Win/vc14/gtest-set-feldman.vcxproj
projects/Win/vc14/gtest-set-michael-iterable.vcxproj
projects/Win/vc14/gtest-set-michael-lazy.vcxproj
projects/Win/vc14/gtest-set-michael.vcxproj
projects/Win/vc14/gtest-set-skip.vcxproj
projects/Win/vc14/gtest-set-split-iterable.vcxproj
projects/Win/vc14/gtest-set-split-lazy.vcxproj
projects/Win/vc14/gtest-set-split-michael.vcxproj
projects/Win/vc14/gtest-stack.vcxproj
projects/Win/vc14/gtest-tree-bronson.vcxproj
projects/Win/vc14/gtest-tree-ellen.vcxproj
projects/Win/vc14/stress-framework.vcxproj
projects/Win/vc14/stress-framework.vcxproj.filters
projects/Win/vc14/stress-freelist.vcxproj
projects/Win/vc14/stress-map-delodd.vcxproj
projects/Win/vc14/stress-map-find_int.vcxproj
projects/Win/vc14/stress-map-find_string.vcxproj
projects/Win/vc14/stress-map-insdel-func.vcxproj
projects/Win/vc14/stress-map-insdel-int.vcxproj
projects/Win/vc14/stress-map-insdel-item-int.vcxproj
projects/Win/vc14/stress-map-insdel-string.vcxproj
projects/Win/vc14/stress-map-insdelfind.vcxproj
projects/Win/vc14/stress-map-insfind-int.vcxproj
projects/Win/vc14/stress-pqueue.vcxproj
projects/Win/vc14/stress-queue.vcxproj
projects/Win/vc14/stress-set-delodd.vcxproj
projects/Win/vc14/stress-set-insdel_func.vcxproj
projects/Win/vc14/stress-set-insdel_string.vcxproj
projects/Win/vc14/stress-set-insdelfind.vcxproj
projects/Win/vc14/stress-set-iteration.vcxproj
projects/Win/vc14/stress-stack.vcxproj
readme.md
src/dhp.cpp [new file with mode: 0644]
src/dhp_gc.cpp [deleted file]
src/dllmain.cpp
src/hp.cpp [new file with mode: 0644]
src/hp_const.h
src/hp_gc.cpp [deleted file]
src/init.cpp
src/michael_heap.cpp [deleted file]
src/thread_data.cpp [new file with mode: 0644]
src/topology_hpux.cpp
src/topology_linux.cpp
src/topology_osx.cpp
src/urcu_gp.cpp
src/urcu_sh.cpp
test/include/cds_test/check_size.h
test/include/cds_test/fc_hevy_value.h [new file with mode: 0644]
test/include/cds_test/fixture.h
test/include/cds_test/hash_func.h
test/include/cds_test/stat_bronson_avltree_out.h
test/include/cds_test/stat_cuckoo_out.h
test/include/cds_test/stat_ellenbintree_out.h
test/include/cds_test/stat_feldman_hashset_out.h
test/include/cds_test/stat_flat_combining_out.h
test/include/cds_test/stat_iterable_list_out.h
test/include/cds_test/stat_lazy_list_out.h
test/include/cds_test/stat_michael_list_out.h
test/include/cds_test/stat_skiplist_out.h
test/include/cds_test/stat_splitlist_out.h
test/include/cds_test/stat_sync_monitor_out.h
test/include/cds_test/stress_test.h
test/include/cds_test/thread.h
test/stress/CMakeLists.txt
test/stress/data/test-debug.conf
test/stress/data/test-express-x86.conf
test/stress/data/test-express.conf
test/stress/data/test.conf
test/stress/framework/config.cpp
test/stress/framework/ellen_bintree_update_desc_pool.cpp
test/stress/framework/ellen_bintree_update_desc_pool.h
test/stress/framework/michael_alloc.cpp [deleted file]
test/stress/framework/michael_alloc.h [deleted file]
test/stress/framework/stress_test.cpp
test/stress/freelist/put_get.cpp
test/stress/freelist/put_get_single.cpp
test/stress/main.cpp
test/stress/map/delodd/map_delodd.cpp
test/stress/map/delodd/map_delodd.h
test/stress/map/delodd/map_delodd_bronsonavltree.cpp
test/stress/map/delodd/map_delodd_cuckoo.cpp
test/stress/map/delodd/map_delodd_ellentree.cpp
test/stress/map/delodd/map_delodd_feldman_hashmap.cpp
test/stress/map/delodd/map_delodd_michael.cpp
test/stress/map/delodd/map_delodd_skip.cpp
test/stress/map/delodd/map_delodd_split.cpp
test/stress/map/find_int/map_find_int.cpp
test/stress/map/find_int/map_find_int.h
test/stress/map/find_int/map_find_int_bronsonavltree.cpp
test/stress/map/find_int/map_find_int_cuckoo.cpp
test/stress/map/find_int/map_find_int_ellentree.cpp
test/stress/map/find_int/map_find_int_feldman_hashset.cpp
test/stress/map/find_int/map_find_int_michael.cpp
test/stress/map/find_int/map_find_int_skip.cpp
test/stress/map/find_int/map_find_int_split.cpp
test/stress/map/find_int/map_find_int_std.cpp
test/stress/map/find_int/map_find_int_striped.cpp
test/stress/map/find_string/map_find_string.cpp
test/stress/map/find_string/map_find_string.h
test/stress/map/find_string/map_find_string_bronsonavltree.cpp
test/stress/map/find_string/map_find_string_cuckoo.cpp
test/stress/map/find_string/map_find_string_ellentree.cpp
test/stress/map/find_string/map_find_string_feldman_hashset.cpp
test/stress/map/find_string/map_find_string_michael.cpp
test/stress/map/find_string/map_find_string_skip.cpp
test/stress/map/find_string/map_find_string_split.cpp
test/stress/map/find_string/map_find_string_std.cpp
test/stress/map/find_string/map_find_string_striped.cpp
test/stress/map/insdel_func/map_insdel_func.cpp
test/stress/map/insdel_func/map_insdel_func.h
test/stress/map/insdel_func/map_insdel_func_bronsonavltree.cpp
test/stress/map/insdel_func/map_insdel_func_cuckoo.cpp
test/stress/map/insdel_func/map_insdel_func_ellentree.cpp
test/stress/map/insdel_func/map_insdel_func_feldman_hashset.cpp
test/stress/map/insdel_func/map_insdel_func_michael.cpp
test/stress/map/insdel_func/map_insdel_func_skip.cpp
test/stress/map/insdel_func/map_insdel_func_split.cpp
test/stress/map/insdel_func/map_insdel_func_striped.cpp
test/stress/map/insdel_int/map_insdel_int.cpp
test/stress/map/insdel_int/map_insdel_int.h
test/stress/map/insdel_int/map_insdel_int_bronsonavltree.cpp
test/stress/map/insdel_int/map_insdel_int_cuckoo.cpp
test/stress/map/insdel_int/map_insdel_int_ellentree.cpp
test/stress/map/insdel_int/map_insdel_int_feldman_hashset.cpp
test/stress/map/insdel_int/map_insdel_int_michael.cpp
test/stress/map/insdel_int/map_insdel_int_skip.cpp
test/stress/map/insdel_int/map_insdel_int_split.cpp
test/stress/map/insdel_int/map_insdel_int_std.cpp
test/stress/map/insdel_int/map_insdel_int_striped.cpp
test/stress/map/insdel_item_int/map_insdel_item_int.cpp
test/stress/map/insdel_item_int/map_insdel_item_int.h
test/stress/map/insdel_item_int/map_insdel_item_int_bronsonavltree.cpp
test/stress/map/insdel_item_int/map_insdel_item_int_cuckoo.cpp
test/stress/map/insdel_item_int/map_insdel_item_int_ellentree.cpp
test/stress/map/insdel_item_int/map_insdel_item_int_feldman_hashset.cpp
test/stress/map/insdel_item_int/map_insdel_item_int_michael.cpp
test/stress/map/insdel_item_int/map_insdel_item_int_skip.cpp
test/stress/map/insdel_item_int/map_insdel_item_int_split.cpp
test/stress/map/insdel_item_int/map_insdel_item_int_striped.cpp
test/stress/map/insdel_string/map_insdel_string.cpp
test/stress/map/insdel_string/map_insdel_string.h
test/stress/map/insdel_string/map_insdel_string_bronsonavltree.cpp
test/stress/map/insdel_string/map_insdel_string_cuckoo.cpp
test/stress/map/insdel_string/map_insdel_string_ellentree.cpp
test/stress/map/insdel_string/map_insdel_string_feldman_hashset.cpp
test/stress/map/insdel_string/map_insdel_string_michael.cpp
test/stress/map/insdel_string/map_insdel_string_skip.cpp
test/stress/map/insdel_string/map_insdel_string_split.cpp
test/stress/map/insdel_string/map_insdel_string_std.cpp
test/stress/map/insdel_string/map_insdel_string_striped.cpp
test/stress/map/insdelfind/map_insdelfind.cpp
test/stress/map/insdelfind/map_insdelfind.h
test/stress/map/insdelfind/map_insdelfind_bronsonavltree.cpp
test/stress/map/insdelfind/map_insdelfind_cuckoo.cpp
test/stress/map/insdelfind/map_insdelfind_ellentree.cpp
test/stress/map/insdelfind/map_insdelfind_feldman_hashset.cpp
test/stress/map/insdelfind/map_insdelfind_michael.cpp
test/stress/map/insdelfind/map_insdelfind_skip.cpp
test/stress/map/insdelfind/map_insdelfind_split.cpp
test/stress/map/insdelfind/map_insdelfind_std.cpp
test/stress/map/insdelfind/map_insdelfind_striped.cpp
test/stress/map/insfind_int/map_insfind.cpp
test/stress/map/insfind_int/map_insfind_bronsonavltree.cpp
test/stress/map/insfind_int/map_insfind_cuckoo.cpp
test/stress/map/insfind_int/map_insfind_ellentree.cpp
test/stress/map/insfind_int/map_insfind_feldman_hashset.cpp
test/stress/map/insfind_int/map_insfind_int.h
test/stress/map/insfind_int/map_insfind_michael.cpp
test/stress/map/insfind_int/map_insfind_skip.cpp
test/stress/map/insfind_int/map_insfind_split.cpp
test/stress/map/insfind_int/map_insfind_std.cpp
test/stress/map/insfind_int/map_insfind_striped.cpp
test/stress/map/map_type.h
test/stress/map/map_type_bronson_avltree.h
test/stress/map/map_type_cuckoo.h
test/stress/map/map_type_ellen_bintree.h
test/stress/map/map_type_feldman_hashmap.h
test/stress/map/map_type_iterable_list.h
test/stress/map/map_type_lazy_list.h
test/stress/map/map_type_michael.h
test/stress/map/map_type_michael_list.h
test/stress/map/map_type_skip_list.h
test/stress/map/map_type_split_list.h
test/stress/map/map_type_std.h
test/stress/map/map_type_striped.h
test/stress/pqueue/item.h
test/stress/pqueue/pop.cpp
test/stress/pqueue/pqueue_type.h
test/stress/pqueue/push.cpp
test/stress/pqueue/push_pop.cpp
test/stress/queue/bounded_queue_fulness.cpp
test/stress/queue/intrusive_push_pop.cpp
test/stress/queue/intrusive_queue_type.h
test/stress/queue/pop.cpp
test/stress/queue/print_stat.h
test/stress/queue/push.cpp
test/stress/queue/push_pop.cpp
test/stress/queue/queue_type.h
test/stress/queue/random.cpp
test/stress/queue/std_queue.h
test/stress/set/delodd/set_delodd.cpp
test/stress/set/delodd/set_delodd.h
test/stress/set/delodd/set_delodd_cuckoo.cpp
test/stress/set/delodd/set_delodd_ellentree.cpp
test/stress/set/delodd/set_delodd_feldman_hashset.cpp
test/stress/set/delodd/set_delodd_michael.cpp
test/stress/set/delodd/set_delodd_skip.cpp
test/stress/set/delodd/set_delodd_split.cpp
test/stress/set/insdel_find/set_insdelfind.cpp
test/stress/set/insdel_find/set_insdelfind.h
test/stress/set/insdel_find/set_insdelfind_cuckoo.cpp
test/stress/set/insdel_find/set_insdelfind_ellentree.cpp
test/stress/set/insdel_find/set_insdelfind_feldman_hashset.cpp
test/stress/set/insdel_find/set_insdelfind_michael.cpp
test/stress/set/insdel_find/set_insdelfind_skip.cpp
test/stress/set/insdel_find/set_insdelfind_split.cpp
test/stress/set/insdel_find/set_insdelfind_std.cpp
test/stress/set/insdel_find/set_insdelfind_striped.cpp
test/stress/set/insdel_func/set_insdel_func.cpp
test/stress/set/insdel_func/set_insdel_func.h
test/stress/set/insdel_func/set_insdel_func_cuckoo.cpp
test/stress/set/insdel_func/set_insdel_func_ellentree.cpp
test/stress/set/insdel_func/set_insdel_func_feldman_hashset.cpp
test/stress/set/insdel_func/set_insdel_func_michael.cpp
test/stress/set/insdel_func/set_insdel_func_skip.cpp
test/stress/set/insdel_func/set_insdel_func_split.cpp
test/stress/set/insdel_func/set_insdel_func_striped.cpp
test/stress/set/insdel_string/set_insdel_string.cpp
test/stress/set/insdel_string/set_insdel_string.h
test/stress/set/insdel_string/set_insdel_string_cuckoo.cpp
test/stress/set/insdel_string/set_insdel_string_ellentree.cpp
test/stress/set/insdel_string/set_insdel_string_feldman_hashset.cpp
test/stress/set/insdel_string/set_insdel_string_michael.cpp
test/stress/set/insdel_string/set_insdel_string_skip.cpp
test/stress/set/insdel_string/set_insdel_string_split.cpp
test/stress/set/insdel_string/set_insdel_string_std.cpp
test/stress/set/insdel_string/set_insdel_string_striped.cpp
test/stress/set/iteration/set_iteration.cpp
test/stress/set/iteration/set_iteration.h
test/stress/set/iteration/set_iteration_feldman_hashset.cpp
test/stress/set/iteration/set_iteration_michael.cpp
test/stress/set/iteration/set_iteration_split.cpp
test/stress/set/set_type.h
test/stress/set/set_type_cuckoo.h
test/stress/set/set_type_ellen_bintree.h
test/stress/set/set_type_feldman_hashset.h
test/stress/set/set_type_iterable_list.h
test/stress/set/set_type_lazy_list.h
test/stress/set/set_type_michael.h
test/stress/set/set_type_michael_list.h
test/stress/set/set_type_skip_list.h
test/stress/set/set_type_split_list.h
test/stress/set/set_type_std.h
test/stress/set/set_type_striped.h
test/stress/stack/intrusive_push_pop.cpp
test/stress/stack/intrusive_push_pop_fcstack.cpp
test/stress/stack/intrusive_stack_push_pop.h
test/stress/stack/intrusive_stack_type.h
test/stress/stack/push.cpp
test/stress/stack/push_pop.cpp
test/stress/stack/stack_type.h
test/unit/deque/fcdeque.cpp
test/unit/intrusive-list/intrusive_iterable_dhp.cpp
test/unit/intrusive-list/intrusive_iterable_hp.cpp
test/unit/intrusive-list/intrusive_lazy_dhp.cpp
test/unit/intrusive-list/intrusive_lazy_hp.cpp
test/unit/intrusive-list/intrusive_lazy_nogc.cpp
test/unit/intrusive-list/intrusive_lazy_rcu_gpb.cpp
test/unit/intrusive-list/intrusive_lazy_rcu_gpi.cpp
test/unit/intrusive-list/intrusive_lazy_rcu_gpt.cpp
test/unit/intrusive-list/intrusive_lazy_rcu_shb.cpp
test/unit/intrusive-list/intrusive_lazy_rcu_sht.cpp
test/unit/intrusive-list/intrusive_michael_dhp.cpp
test/unit/intrusive-list/intrusive_michael_hp.cpp
test/unit/intrusive-list/intrusive_michael_nogc.cpp
test/unit/intrusive-list/intrusive_michael_rcu_gpb.cpp
test/unit/intrusive-list/intrusive_michael_rcu_gpi.cpp
test/unit/intrusive-list/intrusive_michael_rcu_gpt.cpp
test/unit/intrusive-list/intrusive_michael_rcu_shb.cpp
test/unit/intrusive-list/intrusive_michael_rcu_sht.cpp
test/unit/intrusive-list/test_intrusive_iterable_list.h
test/unit/intrusive-list/test_intrusive_iterable_list_hp.h
test/unit/intrusive-list/test_intrusive_lazy_rcu.h
test/unit/intrusive-list/test_intrusive_list.h
test/unit/intrusive-list/test_intrusive_list_hp.h
test/unit/intrusive-list/test_intrusive_list_nogc.h
test/unit/intrusive-list/test_intrusive_list_rcu.h
test/unit/intrusive-list/test_intrusive_michael_rcu.h
test/unit/intrusive-set/intrusive_feldman_hashset_dhp.cpp
test/unit/intrusive-set/intrusive_feldman_hashset_hp.cpp
test/unit/intrusive-set/intrusive_feldman_hashset_rcu_gpb.cpp
test/unit/intrusive-set/intrusive_feldman_hashset_rcu_gpi.cpp
test/unit/intrusive-set/intrusive_feldman_hashset_rcu_gpt.cpp
test/unit/intrusive-set/intrusive_feldman_hashset_rcu_shb.cpp
test/unit/intrusive-set/intrusive_feldman_hashset_rcu_sht.cpp
test/unit/intrusive-set/intrusive_michael_iterable_dhp.cpp
test/unit/intrusive-set/intrusive_michael_iterable_hp.cpp
test/unit/intrusive-set/intrusive_michael_lazy_dhp.cpp
test/unit/intrusive-set/intrusive_michael_lazy_hp.cpp
test/unit/intrusive-set/intrusive_michael_lazy_nogc.cpp
test/unit/intrusive-set/intrusive_michael_lazy_rcu_gpb.cpp
test/unit/intrusive-set/intrusive_michael_lazy_rcu_gpi.cpp
test/unit/intrusive-set/intrusive_michael_lazy_rcu_gpt.cpp
test/unit/intrusive-set/intrusive_michael_lazy_rcu_shb.cpp
test/unit/intrusive-set/intrusive_michael_lazy_rcu_sht.cpp
test/unit/intrusive-set/intrusive_michael_michael_dhp.cpp
test/unit/intrusive-set/intrusive_michael_michael_hp.cpp
test/unit/intrusive-set/intrusive_michael_michael_nogc.cpp
test/unit/intrusive-set/intrusive_michael_michael_rcu_gpb.cpp
test/unit/intrusive-set/intrusive_michael_michael_rcu_gpi.cpp
test/unit/intrusive-set/intrusive_michael_michael_rcu_gpt.cpp
test/unit/intrusive-set/intrusive_michael_michael_rcu_shb.cpp
test/unit/intrusive-set/intrusive_michael_michael_rcu_sht.cpp
test/unit/intrusive-set/intrusive_skiplist_dhp.cpp
test/unit/intrusive-set/intrusive_skiplist_hp.cpp
test/unit/intrusive-set/intrusive_skiplist_nogc.cpp
test/unit/intrusive-set/intrusive_skiplist_rcu_gpb.cpp
test/unit/intrusive-set/intrusive_skiplist_rcu_gpi.cpp
test/unit/intrusive-set/intrusive_skiplist_rcu_gpt.cpp
test/unit/intrusive-set/intrusive_skiplist_rcu_shb.cpp
test/unit/intrusive-set/intrusive_skiplist_rcu_sht.cpp
test/unit/intrusive-set/intrusive_split_iterable_dhp.cpp
test/unit/intrusive-set/intrusive_split_iterable_hp.cpp
test/unit/intrusive-set/intrusive_split_lazy_dhp.cpp
test/unit/intrusive-set/intrusive_split_lazy_hp.cpp
test/unit/intrusive-set/intrusive_split_lazy_nogc.cpp
test/unit/intrusive-set/intrusive_split_lazy_rcu_gpb.cpp
test/unit/intrusive-set/intrusive_split_lazy_rcu_gpi.cpp
test/unit/intrusive-set/intrusive_split_lazy_rcu_gpt.cpp
test/unit/intrusive-set/intrusive_split_lazy_rcu_shb.cpp
test/unit/intrusive-set/intrusive_split_lazy_rcu_sht.cpp
test/unit/intrusive-set/intrusive_split_michael_dhp.cpp
test/unit/intrusive-set/intrusive_split_michael_hp.cpp
test/unit/intrusive-set/intrusive_split_michael_nogc.cpp
test/unit/intrusive-set/intrusive_split_michael_rcu_gpb.cpp
test/unit/intrusive-set/intrusive_split_michael_rcu_gpi.cpp
test/unit/intrusive-set/intrusive_split_michael_rcu_gpt.cpp
test/unit/intrusive-set/intrusive_split_michael_rcu_shb.cpp
test/unit/intrusive-set/intrusive_split_michael_rcu_sht.cpp
test/unit/intrusive-set/test_intrusive_feldman_hashset.h
test/unit/intrusive-set/test_intrusive_feldman_hashset_hp.h
test/unit/intrusive-set/test_intrusive_feldman_hashset_rcu.h
test/unit/intrusive-set/test_intrusive_michael_iterable.h
test/unit/intrusive-set/test_intrusive_michael_iterable_hp.h
test/unit/intrusive-set/test_intrusive_michael_lazy_rcu.h
test/unit/intrusive-set/test_intrusive_michael_michael_rcu.h
test/unit/intrusive-set/test_intrusive_set.h
test/unit/intrusive-set/test_intrusive_set_hp.h
test/unit/intrusive-set/test_intrusive_set_nogc.h
test/unit/intrusive-set/test_intrusive_set_rcu.h
test/unit/intrusive-set/test_intrusive_skiplist_rcu.h
test/unit/intrusive-set/test_intrusive_split_iterable_set.h
test/unit/intrusive-set/test_intrusive_split_iterable_set_hp.h
test/unit/intrusive-set/test_intrusive_split_lazy_rcu.h
test/unit/intrusive-set/test_intrusive_split_michael_rcu.h
test/unit/list/iterable_dhp.cpp
test/unit/list/iterable_hp.cpp
test/unit/list/kv_iterable_dhp.cpp
test/unit/list/kv_iterable_hp.cpp
test/unit/list/kv_lazy_dhp.cpp
test/unit/list/kv_lazy_hp.cpp
test/unit/list/kv_lazy_nogc.cpp
test/unit/list/kv_lazy_rcu_gpb.cpp
test/unit/list/kv_lazy_rcu_gpi.cpp
test/unit/list/kv_lazy_rcu_gpt.cpp
test/unit/list/kv_lazy_rcu_shb.cpp
test/unit/list/kv_lazy_rcu_sht.cpp
test/unit/list/kv_michael_dhp.cpp
test/unit/list/kv_michael_hp.cpp
test/unit/list/kv_michael_nogc.cpp
test/unit/list/kv_michael_rcu_gpb.cpp
test/unit/list/kv_michael_rcu_gpi.cpp
test/unit/list/kv_michael_rcu_gpt.cpp
test/unit/list/kv_michael_rcu_shb.cpp
test/unit/list/kv_michael_rcu_sht.cpp
test/unit/list/lazy_dhp.cpp
test/unit/list/lazy_hp.cpp
test/unit/list/lazy_nogc.cpp
test/unit/list/lazy_rcu_gpb.cpp
test/unit/list/lazy_rcu_gpi.cpp
test/unit/list/lazy_rcu_gpt.cpp
test/unit/list/lazy_rcu_shb.cpp
test/unit/list/lazy_rcu_sht.cpp
test/unit/list/michael_dhp.cpp
test/unit/list/michael_hp.cpp
test/unit/list/michael_nogc.cpp
test/unit/list/michael_rcu_gpb.cpp
test/unit/list/michael_rcu_gpi.cpp
test/unit/list/michael_rcu_gpt.cpp
test/unit/list/michael_rcu_shb.cpp
test/unit/list/michael_rcu_sht.cpp
test/unit/list/test_iterable_list.h
test/unit/list/test_iterable_list_hp.h
test/unit/list/test_kv_iterable_list.h
test/unit/list/test_kv_iterable_list_hp.h
test/unit/list/test_kv_lazy_rcu.h
test/unit/list/test_kv_list.h
test/unit/list/test_kv_list_hp.h
test/unit/list/test_kv_list_nogc.h
test/unit/list/test_kv_list_rcu.h
test/unit/list/test_kv_michael_rcu.h
test/unit/list/test_lazy_rcu.h
test/unit/list/test_list.h
test/unit/list/test_list_hp.h
test/unit/list/test_list_nogc.h
test/unit/list/test_list_rcu.h
test/unit/list/test_michael_rcu.h
test/unit/main.cpp
test/unit/map/feldman_hashmap_dhp.cpp
test/unit/map/feldman_hashmap_hp.cpp
test/unit/map/feldman_hashset_rcu_gpb.cpp
test/unit/map/feldman_hashset_rcu_gpi.cpp
test/unit/map/feldman_hashset_rcu_gpt.cpp
test/unit/map/feldman_hashset_rcu_shb.cpp
test/unit/map/feldman_hashset_rcu_sht.cpp
test/unit/map/michael_iterable_dhp.cpp
test/unit/map/michael_iterable_hp.cpp
test/unit/map/michael_lazy_dhp.cpp
test/unit/map/michael_lazy_hp.cpp
test/unit/map/michael_lazy_nogc.cpp
test/unit/map/michael_lazy_rcu_gpb.cpp
test/unit/map/michael_lazy_rcu_gpi.cpp
test/unit/map/michael_lazy_rcu_gpt.cpp
test/unit/map/michael_lazy_rcu_shb.cpp
test/unit/map/michael_lazy_rcu_sht.cpp
test/unit/map/michael_michael_dhp.cpp
test/unit/map/michael_michael_hp.cpp
test/unit/map/michael_michael_nogc.cpp
test/unit/map/michael_michael_rcu_gpb.cpp
test/unit/map/michael_michael_rcu_gpi.cpp
test/unit/map/michael_michael_rcu_gpt.cpp
test/unit/map/michael_michael_rcu_shb.cpp
test/unit/map/michael_michael_rcu_sht.cpp
test/unit/map/skiplist_dhp.cpp
test/unit/map/skiplist_hp.cpp
test/unit/map/skiplist_nogc.cpp
test/unit/map/skiplist_rcu_gpb.cpp
test/unit/map/skiplist_rcu_gpi.cpp
test/unit/map/skiplist_rcu_gpt.cpp
test/unit/map/skiplist_rcu_shb.cpp
test/unit/map/skiplist_rcu_sht.cpp
test/unit/map/split_iterable_dhp.cpp
test/unit/map/split_iterable_hp.cpp
test/unit/map/split_lazy_dhp.cpp
test/unit/map/split_lazy_hp.cpp
test/unit/map/split_lazy_nogc.cpp
test/unit/map/split_lazy_rcu_gpb.cpp
test/unit/map/split_lazy_rcu_gpi.cpp
test/unit/map/split_lazy_rcu_gpt.cpp
test/unit/map/split_lazy_rcu_shb.cpp
test/unit/map/split_lazy_rcu_sht.cpp
test/unit/map/split_michael_dhp.cpp
test/unit/map/split_michael_hp.cpp
test/unit/map/split_michael_nogc.cpp
test/unit/map/split_michael_rcu_gpb.cpp
test/unit/map/split_michael_rcu_gpi.cpp
test/unit/map/split_michael_rcu_gpt.cpp
test/unit/map/split_michael_rcu_shb.cpp
test/unit/map/split_michael_rcu_sht.cpp
test/unit/map/test_feldman_hashmap.h
test/unit/map/test_feldman_hashmap_hp.h
test/unit/map/test_feldman_hashmap_rcu.h
test/unit/map/test_map.h
test/unit/map/test_map_data.h
test/unit/map/test_map_hp.h
test/unit/map/test_map_nogc.h
test/unit/map/test_map_rcu.h
test/unit/map/test_michael_iterable.h
test/unit/map/test_michael_iterable_hp.h
test/unit/map/test_michael_lazy_rcu.h
test/unit/map/test_skiplist_hp.h
test/unit/map/test_skiplist_rcu.h
test/unit/map/test_split_lazy_rcu.h
test/unit/map/test_split_michael_rcu.h
test/unit/misc/bitop.cpp
test/unit/misc/cxx11_atomic_class.cpp
test/unit/misc/cxx11_atomic_func.cpp
test/unit/misc/cxx11_convert_memory_order.h
test/unit/misc/find_option.cpp
test/unit/misc/hash_tuple.cpp
test/unit/misc/permutation_generator.cpp
test/unit/misc/split_bitstring.cpp
test/unit/pqueue/fcpqueue_boost_stable_vector.cpp
test/unit/pqueue/fcpqueue_deque.cpp
test/unit/pqueue/fcpqueue_vector.cpp
test/unit/pqueue/intrusive_mspqueue.cpp
test/unit/pqueue/mspqueue.cpp
test/unit/pqueue/test_data.h
test/unit/pqueue/test_fcpqueue.h
test/unit/queue/basket_queue_dhp.cpp
test/unit/queue/basket_queue_hp.cpp
test/unit/queue/fcqueue.cpp
test/unit/queue/intrusive_basket_queue_dhp.cpp
test/unit/queue/intrusive_basket_queue_hp.cpp
test/unit/queue/intrusive_fcqueue.cpp
test/unit/queue/intrusive_moirqueue_dhp.cpp
test/unit/queue/intrusive_moirqueue_hp.cpp
test/unit/queue/intrusive_msqueue_dhp.cpp
test/unit/queue/intrusive_msqueue_hp.cpp
test/unit/queue/intrusive_optqueue_dhp.cpp
test/unit/queue/intrusive_optqueue_hp.cpp
test/unit/queue/intrusive_segmented_queue_dhp.cpp
test/unit/queue/intrusive_segmented_queue_hp.cpp
test/unit/queue/intrusive_vyukov_queue.cpp
test/unit/queue/moirqueue_dhp.cpp
test/unit/queue/moirqueue_hp.cpp
test/unit/queue/msqueue_dhp.cpp
test/unit/queue/msqueue_hp.cpp
test/unit/queue/optimistic_queue_dhp.cpp
test/unit/queue/optimistic_queue_hp.cpp
test/unit/queue/rwqueue.cpp
test/unit/queue/segmented_queue_dhp.cpp
test/unit/queue/segmented_queue_hp.cpp
test/unit/queue/test_bounded_queue.h
test/unit/queue/test_generic_queue.h
test/unit/queue/test_intrusive_bounded_queue.h
test/unit/queue/test_intrusive_msqueue.h
test/unit/queue/test_intrusive_segmented_queue.h
test/unit/queue/test_segmented_queue.h
test/unit/queue/vyukov_mpmc_queue.cpp
test/unit/set/feldman_hashset_dhp.cpp
test/unit/set/feldman_hashset_hp.cpp
test/unit/set/feldman_hashset_rcu_gpb.cpp
test/unit/set/feldman_hashset_rcu_gpi.cpp
test/unit/set/feldman_hashset_rcu_gpt.cpp
test/unit/set/feldman_hashset_rcu_shb.cpp
test/unit/set/feldman_hashset_rcu_sht.cpp
test/unit/set/michael_iterable_dhp.cpp
test/unit/set/michael_iterable_hp.cpp
test/unit/set/michael_lazy_dhp.cpp
test/unit/set/michael_lazy_hp.cpp
test/unit/set/michael_lazy_nogc.cpp
test/unit/set/michael_lazy_rcu_gpb.cpp
test/unit/set/michael_lazy_rcu_gpi.cpp
test/unit/set/michael_lazy_rcu_gpt.cpp
test/unit/set/michael_lazy_rcu_shb.cpp
test/unit/set/michael_lazy_rcu_sht.cpp
test/unit/set/michael_michael_dhp.cpp
test/unit/set/michael_michael_hp.cpp
test/unit/set/michael_michael_nogc.cpp
test/unit/set/michael_michael_rcu_gpb.cpp
test/unit/set/michael_michael_rcu_gpi.cpp
test/unit/set/michael_michael_rcu_gpt.cpp
test/unit/set/michael_michael_rcu_shb.cpp
test/unit/set/michael_michael_rcu_sht.cpp
test/unit/set/skiplist_dhp.cpp
test/unit/set/skiplist_hp.cpp
test/unit/set/skiplist_nogc.cpp
test/unit/set/skiplist_rcu_gpb.cpp
test/unit/set/skiplist_rcu_gpi.cpp
test/unit/set/skiplist_rcu_gpt.cpp
test/unit/set/skiplist_rcu_shb.cpp
test/unit/set/skiplist_rcu_sht.cpp
test/unit/set/split_iterable_dhp.cpp
test/unit/set/split_iterable_hp.cpp
test/unit/set/split_lazy_dhp.cpp
test/unit/set/split_lazy_hp.cpp
test/unit/set/split_lazy_nogc.cpp
test/unit/set/split_lazy_rcu_gpb.cpp
test/unit/set/split_lazy_rcu_gpi.cpp
test/unit/set/split_lazy_rcu_gpt.cpp
test/unit/set/split_lazy_rcu_shb.cpp
test/unit/set/split_lazy_rcu_sht.cpp
test/unit/set/split_michael_dhp.cpp
test/unit/set/split_michael_hp.cpp
test/unit/set/split_michael_nogc.cpp
test/unit/set/split_michael_rcu_gpb.cpp
test/unit/set/split_michael_rcu_gpi.cpp
test/unit/set/split_michael_rcu_gpt.cpp
test/unit/set/split_michael_rcu_shb.cpp
test/unit/set/split_michael_rcu_sht.cpp
test/unit/set/test_feldman_hashset.h
test/unit/set/test_feldman_hashset_hp.h
test/unit/set/test_feldman_hashset_rcu.h
test/unit/set/test_michael_iterable.h
test/unit/set/test_michael_iterable_hp.h
test/unit/set/test_michael_lazy_rcu.h
test/unit/set/test_michael_michael_rcu.h
test/unit/set/test_ordered_set_hp.h
test/unit/set/test_set.h
test/unit/set/test_set_data.h
test/unit/set/test_set_hp.h
test/unit/set/test_set_nogc.h
test/unit/set/test_set_rcu.h
test/unit/set/test_skiplist_rcu.h
test/unit/set/test_split_iterable.h
test/unit/set/test_split_iterable_hp.h
test/unit/set/test_split_lazy_rcu.h
test/unit/set/test_split_michael_rcu.h
test/unit/stack/fcstack.cpp
test/unit/stack/intrusive_fcstack.cpp
test/unit/stack/intrusive_treiber_stack_dhp.cpp
test/unit/stack/intrusive_treiber_stack_hp.cpp
test/unit/stack/test_intrusive_treiber_stack.h
test/unit/stack/test_treiber_stack.h
test/unit/stack/treiber_stack_dhp.cpp
test/unit/stack/treiber_stack_hp.cpp
test/unit/striped-map/cuckoo_map.cpp
test/unit/striped-map/map_boost_flat_map.cpp
test/unit/striped-map/map_boost_list.cpp
test/unit/striped-map/map_boost_map.cpp
test/unit/striped-map/map_boost_slist.cpp
test/unit/striped-map/map_boost_unordered_map.cpp
test/unit/striped-map/map_std_list.cpp
test/unit/striped-map/map_std_map.cpp
test/unit/striped-map/map_std_unordered_map.cpp
test/unit/striped-map/test_map.h
test/unit/striped-map/test_map_data.h
test/unit/striped-map/test_striped_map.h
test/unit/striped-set/cuckoo_set.cpp
test/unit/striped-set/intrusive_boost_avl_set.cpp
test/unit/striped-set/intrusive_boost_list.cpp
test/unit/striped-set/intrusive_boost_set.cpp
test/unit/striped-set/intrusive_boost_sg_set.cpp
test/unit/striped-set/intrusive_boost_slist.cpp
test/unit/striped-set/intrusive_boost_splay_set.cpp
test/unit/striped-set/intrusive_boost_treap_set.cpp
test/unit/striped-set/intrusive_boost_unordered_set.cpp
test/unit/striped-set/intrusive_cuckoo_set.cpp
test/unit/striped-set/set_boost_flatset.cpp
test/unit/striped-set/set_boost_list.cpp
test/unit/striped-set/set_boost_set.cpp
test/unit/striped-set/set_boost_slist.cpp
test/unit/striped-set/set_boost_stable_vector.cpp
test/unit/striped-set/set_boost_unordered_set.cpp
test/unit/striped-set/set_boost_vector.cpp
test/unit/striped-set/set_std_list.cpp
test/unit/striped-set/set_std_set.cpp
test/unit/striped-set/set_std_unordered_set.cpp
test/unit/striped-set/set_std_vector.cpp
test/unit/striped-set/test_intrusive_set.h
test/unit/striped-set/test_intrusive_striped_set.h
test/unit/striped-set/test_set.h
test/unit/striped-set/test_striped_set.h
test/unit/tree/bronson_avltree_map_ptr_rcu_gpb.cpp
test/unit/tree/bronson_avltree_map_ptr_rcu_gpi.cpp
test/unit/tree/bronson_avltree_map_ptr_rcu_gpt.cpp
test/unit/tree/bronson_avltree_map_ptr_rcu_shb.cpp
test/unit/tree/bronson_avltree_map_ptr_rcu_sht.cpp
test/unit/tree/bronson_avltree_map_rcu_gpb.cpp
test/unit/tree/bronson_avltree_map_rcu_gpi.cpp
test/unit/tree/bronson_avltree_map_rcu_gpt.cpp
test/unit/tree/bronson_avltree_map_rcu_shb.cpp
test/unit/tree/bronson_avltree_map_rcu_sht.cpp
test/unit/tree/ellen_bintree_map_dhp.cpp
test/unit/tree/ellen_bintree_map_hp.cpp
test/unit/tree/ellen_bintree_map_rcu_gpb.cpp
test/unit/tree/ellen_bintree_map_rcu_gpi.cpp
test/unit/tree/ellen_bintree_map_rcu_gpt.cpp
test/unit/tree/ellen_bintree_map_rcu_shb.cpp
test/unit/tree/ellen_bintree_map_rcu_sht.cpp
test/unit/tree/ellen_bintree_set_dhp.cpp
test/unit/tree/ellen_bintree_set_hp.cpp
test/unit/tree/ellen_bintree_set_rcu_gpb.cpp
test/unit/tree/ellen_bintree_set_rcu_gpi.cpp
test/unit/tree/ellen_bintree_set_rcu_gpt.cpp
test/unit/tree/ellen_bintree_set_rcu_shb.cpp
test/unit/tree/ellen_bintree_set_rcu_sht.cpp
test/unit/tree/ellen_bintree_update_desc_pool.cpp
test/unit/tree/intrusive_ellenbintree_dhp.cpp
test/unit/tree/intrusive_ellenbintree_hp.cpp
test/unit/tree/intrusive_ellenbintree_rcu_gpb.cpp
test/unit/tree/intrusive_ellenbintree_rcu_gpi.cpp
test/unit/tree/intrusive_ellenbintree_rcu_gpt.cpp
test/unit/tree/intrusive_ellenbintree_rcu_shb.cpp
test/unit/tree/intrusive_ellenbintree_rcu_sht.cpp
test/unit/tree/test_bronson_avltree_map.h
test/unit/tree/test_bronson_avltree_map_ptr.h
test/unit/tree/test_ellen_bintree_map_rcu.h
test/unit/tree/test_ellen_bintree_set_rcu.h
test/unit/tree/test_ellen_bintree_update_desc_pool.h
test/unit/tree/test_intrusive_ellen_bintree_rcu.h
test/unit/tree/test_intrusive_tree.h
test/unit/tree/test_intrusive_tree_hp.h
test/unit/tree/test_intrusive_tree_rcu.h
test/unit/tree/test_tree_map.h
test/unit/tree/test_tree_map_data.h
test/unit/tree/test_tree_map_hp.h
test/unit/tree/test_tree_map_rcu.h
test/unit/tree/test_tree_set.h
test/unit/tree/test_tree_set_hp.h
test/unit/tree/test_tree_set_rcu.h
tools/brush_cds.pl
tools/make_distrib.pl
tools/tsan-suppression

index 93cba78..757121b 100644 (file)
@@ -25,3 +25,5 @@
 /build/Makefile
 /build/build.sh
 /build/sample
+/.cproject
+/.settings/
index 80fb380..6beb15a 100644 (file)
@@ -8,7 +8,7 @@ include(TargetArch)
 
 project(cds)
 
-set(PROJECT_VERSION 2.2.0)
+set(PROJECT_VERSION 2.3.0)
 
 # Options
 option(WITH_TESTS "Build unit tests" OFF)
@@ -107,6 +107,10 @@ if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
     endif()
 endif()
 
+if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" )
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wdocumentation")
+endif()
+
 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
 
 message("Build type -- ${CMAKE_BUILD_TYPE}")
@@ -130,16 +134,16 @@ include_directories(${PROJECT_SOURCE_DIR})
 set(LIBRARIES_COMPONENT lib)
 set(HEADERS_COMPONENT devel)
 
-set(SOURCES src/hp_gc.cpp
-        src/init.cpp
-        src/dhp_gc.cpp
-        src/urcu_gp.cpp
-        src/urcu_sh.cpp
-        src/michael_heap.cpp
-        src/topology_hpux.cpp
-        src/topology_linux.cpp
-        src/topology_osx.cpp
-        src/dllmain.cpp)
+set(SOURCES src/init.cpp
+            src/hp.cpp
+            src/dhp.cpp
+            src/urcu_gp.cpp
+            src/urcu_sh.cpp
+            src/thread_data.cpp
+            src/topology_hpux.cpp
+            src/topology_linux.cpp
+            src/topology_osx.cpp
+            src/dllmain.cpp)
 
 add_library(${CDS_SHARED_LIBRARY} SHARED ${SOURCES})
 set_target_properties(${CDS_SHARED_LIBRARY} PROPERTIES VERSION ${PROJECT_VERSION}
index f0e50f9..8cb74ba 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 1d191fd..62cf5a5 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 8faa744..a109e80 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 9e4dbd7..dc5900d 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 10a27d1..597e0f2 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index e64b9d1..2c5ce83 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index b7a82b3..b97efbc 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 482e904..10f406e 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 23470d6..35e04ed 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index a8d3ce9..5e333e1 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
@@ -289,7 +289,7 @@ namespace cds { namespace algo {
             {
                 assert( m_pThreadRec.get() == nullptr );
                 publication_record_type* pRec = cxx11_allocator().New();
-                m_pAllocatedHead = 
+                m_pAllocatedHead =
                     m_pHead = pRec;
                 m_pThreadRec.reset( pRec );
                 m_Stat.onCreatePubRecord();
@@ -706,11 +706,11 @@ namespace cds { namespace algo {
                 publication_record* p = m_pHead;
                 bool bOpDone = false;
                 while ( p ) {
-                    switch ( p->nState.load( memory_model::memory_order_acquire ) ) {
+                    switch ( p->nState.load( memory_model::memory_order_acquire )) {
                     case active:
                         if ( p->op() >= req_Operation ) {
                             p->nAge.store( nCurAge, memory_model::memory_order_relaxed );
-                            owner.fc_apply( static_cast<publication_record_type*>( p ) );
+                            owner.fc_apply( static_cast<publication_record_type*>( p ));
                             operation_done( *p );
                             bOpDone = true;
                         }
@@ -735,12 +735,12 @@ namespace cds { namespace algo {
             void batch_combining( Container& owner )
             {
                 // The thread is a combiner
-                assert( !m_Mutex.try_lock() );
+                assert( !m_Mutex.try_lock());
 
                 unsigned int const nCurAge = m_nCount.fetch_add( 1, memory_model::memory_order_relaxed ) + 1;
 
                 for ( unsigned int nPass = 0; nPass < m_nCombinePassCount; ++nPass )
-                    owner.fc_process( begin(), end() );
+                    owner.fc_process( begin(), end());
 
                 combining_pass( owner, nCurAge );
                 m_Stat.onCombining();
@@ -760,10 +760,10 @@ namespace cds { namespace algo {
                     m_Stat.onPassiveWaitIteration();
 
                     // Wait while operation processing
-                    if ( m_waitStrategy.wait( *this, *pRec ) )
+                    if ( m_waitStrategy.wait( *this, *pRec ))
                         m_Stat.onWakeupByNotifying();
 
-                    if ( m_Mutex.try_lock() ) {
+                    if ( m_Mutex.try_lock()) {
                         if ( pRec->op( memory_model::memory_order_acquire ) == req_Response ) {
                             // Operation is done
                             m_Mutex.unlock();
@@ -790,13 +790,13 @@ namespace cds { namespace algo {
             try_again:
                 publication_record * pPrev = m_pHead;
                 for ( publication_record * p = pPrev->pNext.load( memory_model::memory_order_acquire ); p; ) {
-                    switch ( p->nState.load( memory_model::memory_order_relaxed ) ) {
+                    switch ( p->nState.load( memory_model::memory_order_relaxed )) {
                     case active:
                         if ( p->nAge.load( memory_model::memory_order_relaxed ) + m_nCompactFactor < nCurAge )
                         {
                             publication_record * pNext = p->pNext.load( memory_model::memory_order_relaxed );
                             if ( pPrev->pNext.compare_exchange_strong( p, pNext,
-                                memory_model::memory_order_acquire, atomics::memory_order_relaxed ) )
+                                memory_model::memory_order_acquire, atomics::memory_order_relaxed ))
                             {
                                 p->nState.store( inactive, memory_model::memory_order_release );
                                 p = pNext;
index 8dac9ee..947699d 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 3380f54..cc6cfd2 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index d290ff7..3c250f2 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 53c5e41..9cfce78 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 0b00aaa..338cf09 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 6d95122..daec9c7 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
 #   define CDS_DEPRECATED( reason ) __attribute__((deprecated( reason )))
 #endif
 
+#define CDS_NORETURN __attribute__((__noreturn__))
+
 // *************************************************
 // Features
 #if defined(__has_feature) && __has_feature(thread_sanitizer)
 #define cds_likely( expr )   __builtin_expect( !!( expr ), 1 )
 #define cds_unlikely( expr ) __builtin_expect( !!( expr ), 0 )
 
+// Exceptions
+
+#if defined( __EXCEPTIONS ) && __EXCEPTIONS == 1
+#   define CDS_EXCEPTION_ENABLED
+#endif
+
+
 // double-width CAS support - only for libc++
 #ifdef _LIBCPP_VERSION
 #   if CDS_BUILD_BITS == 64
index bdaf526..5d1439a 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index afe83e0..71025cc 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 2b1d7d7..a6c8695 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index c54855a..6ee6bc4 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 8705e0d..e57859a 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 55287a6..0361260 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index a31ec77..88133a3 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index b65e99e..d97e178 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 055fd10..f7e3c40 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
 #   define CDS_DEPRECATED( reason ) __attribute__((deprecated( reason )))
 #endif
 
+#define CDS_NORETURN __attribute__((__noreturn__))
+
 // likely/unlikely
 
 #define cds_likely( expr )   __builtin_expect( !!( expr ), 1 )
 #define cds_unlikely( expr ) __builtin_expect( !!( expr ), 0 )
 
+// Exceptions
+
+#if defined( __EXCEPTIONS ) && __EXCEPTIONS == 1
+#   define CDS_EXCEPTION_ENABLED
+#endif
+
 // double-width CAS support
 // note: gcc-4.8 does not support double-word atomics
 //       gcc-4.9: a lot of crashes when use DCAS
index edff780..ecc6eb1 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 4363081..b8bef41 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 46977b4..54452c4 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 747e23e..f1bf7fd 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index ec90294..8872623 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index b0c51a0..76fb9c4 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index d2416da..f2b9a97 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index d53bb7f..6837cf3 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 999c038..777bac0 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 2f2bfb1..6bf2460 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 841ee61..10c96ec 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 2d30c0c..138b6c9 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 56fea0d..e8b35bb 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 2a5cae3..f0e0729 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
 // Attributes
 #if CDS_OS_INTERFACE == CDS_OSI_WINDOWS
 #   define CDS_DEPRECATED( reason ) __declspec(deprecated( reason ))
+#   define CDS_NORETURN __declspec(noreturn)
 #else
 #   define CDS_DEPRECATED( reason ) __attribute__((deprecated( reason )))
+#   define CDS_NORETURN __attribute__((__noreturn__))
 #endif
 
+// Exceptions
+
+#if CDS_OS_INTERFACE == CDS_OSI_WINDOWS
+#   if defined( _CPPUNWIND )
+#       define CDS_EXCEPTION_ENABLED
+#   endif
+#else
+#   if defined( __EXCEPTIONS ) && __EXCEPTIONS == 1
+#       define CDS_EXCEPTION_ENABLED
+#   endif
+#endif
+
+
 #include <cds/compiler/icl/compiler_barriers.h>
 
 //@endcond
index e50938c..a26b0a0 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 15dd12b..04e1eea 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 27a6f66..c7c2e12 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index c44d34d..23e273d 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 1b00f6f..f665acf 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
 #   define CDS_DEPRECATED( reason ) __declspec(deprecated( reason ))
 #endif
 
+#define CDS_NORETURN __declspec(noreturn)
+
+// Exceptions
+
+#if defined( _CPPUNWIND )
+#   define CDS_EXCEPTION_ENABLED
+#endif
+
+
 // double-width CAS support
 //#define CDS_DCAS_SUPPORT
 
index e9b30ea..8545104 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 73efe5a..e6d714a 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index d9dc799..61ba665 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 0a09a2c..a698aee 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
@@ -397,7 +397,7 @@ namespace cds { namespace container {
         */
         bool dequeue( value_type& dest )
         {
-            return dequeue_with( [&dest]( value_type& src ) { 
+            return dequeue_with( [&dest]( value_type& src ) {
                 // TSan finds a race between this read of \p src and node_type constructor
                 // I think, it is wrong
                 CDS_TSAN_ANNOTATE_IGNORE_READS_BEGIN;
index 00942d8..a469648 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 89eca7c..d06083e 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 9229432..d29bf8d 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 6b9481a..18156ed 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 822c204..c4fe4de 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 617c00a..d0b5b83 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 6f963a4..91e2e2b 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 995414a..584d306 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 14f3b9e..02016d6 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index a99d2ff..e7afa90 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index f48c2ae..8200be3 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
@@ -123,8 +123,6 @@ namespace cds { namespace container {
                 To enable it use \p iterable_list::stat
             - \p opt::memory_model - C++ memory ordering model. Can be \p opt::v::relaxed_ordering (relaxed memory model, the default)
                 or \p opt::v::sequential_consistent (sequentially consistent memory model).
-            - \p opt::rcu_check_deadlock - a deadlock checking policy for \ref cds_intrusive_IterableList_rcu "RCU-based IterableList"
-                Default is \p opt::v::rcu_throw_deadlock
         */
         template <typename... Options>
         struct make_traits {
index 1f869ab..d454435 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 138e693..0c76e95 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index c9e0025..3cd54fd 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index bc7d109..788c18b 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 2add6d7..45bb928 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index c28521f..cba16f1 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index d6cdf3b..794e214 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index c494139..895b958 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 658c523..ae62906 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/
index 6efcd9a..c2e03e4 100644 (file)
@@ -1,7 +1,7 @@
 /*
     This file is a part of libcds - Concurrent Data Structures library
 
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017
 
     Source code repo: http://github.com/khizmax/libcds/
     Download: http://sourceforge.net/projects/libcds/files/