libcds/2.3.3

C++11 library of Concurrent Data Structures.
Recipe info
2023-02-18

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
libcds/2.3.3

Using libcds

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
libcds/2.3.3
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("libcds/2.3.3")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): LibCDS
  • CMake target name(s): LibCDS::cds-s
  • _libcds => LibCDS::cds-s
    
  • pkg-config file name(s): libcds.pc
  • _libcds => libcds-_libcds.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(LibCDS REQUIRED)
# ...
target_link_libraries(YOUR_TARGET LibCDS::cds-s)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the libcds homepage listed above:

#include "cds/algo/atomic.h"
#include "cds/algo/backoff_strategy.h"
#include "cds/algo/base.h"
#include "cds/algo/bit_reversal.h"
#include "cds/algo/bitop.h"
#include "cds/algo/elimination.h"
#include "cds/algo/elimination_opt.h"
#include "cds/algo/elimination_tls.h"
#include "cds/algo/flat_combining.h"
#include "cds/algo/flat_combining/defs.h"
#include "cds/algo/flat_combining/kernel.h"
#include "cds/algo/flat_combining/wait_strategy.h"
#include "cds/algo/int_algo.h"
#include "cds/algo/split_bitstring.h"
#include "cds/compiler/backoff.h"
#include "cds/compiler/bitop.h"
#include "cds/compiler/clang/defs.h"
#include "cds/compiler/cxx11_atomic.h"
#include "cds/compiler/defs.h"
#include "cds/compiler/feature_tsan.h"
#include "cds/compiler/gcc/amd64/backoff.h"
#include "cds/compiler/gcc/amd64/bitop.h"
#include "cds/compiler/gcc/amd64/cxx11_atomic.h"
#include "cds/compiler/gcc/arm7/backoff.h"
#include "cds/compiler/gcc/arm8/backoff.h"
#include "cds/compiler/gcc/compiler_barriers.h"
#include "cds/compiler/gcc/compiler_macro.h"
#include "cds/compiler/gcc/defs.h"
#include "cds/compiler/gcc/ia64/backoff.h"
#include "cds/compiler/gcc/ia64/bitop.h"
#include "cds/compiler/gcc/ia64/cxx11_atomic.h"
#include "cds/compiler/gcc/ppc64/backoff.h"
#include "cds/compiler/gcc/ppc64/bitop.h"
#include "cds/compiler/gcc/sparc/backoff.h"
#include "cds/compiler/gcc/sparc/bitop.h"
#include "cds/compiler/gcc/sparc/cxx11_atomic.h"
#include "cds/compiler/gcc/x86/backoff.h"
#include "cds/compiler/gcc/x86/bitop.h"
#include "cds/compiler/gcc/x86/cxx11_atomic.h"
#include "cds/compiler/gcc/x86/cxx11_atomic32.h"
#include "cds/compiler/icl/compiler_barriers.h"
#include "cds/compiler/icl/defs.h"
#include "cds/compiler/vc/amd64/backoff.h"
#include "cds/compiler/vc/amd64/bitop.h"
#include "cds/compiler/vc/amd64/cxx11_atomic.h"
#include "cds/compiler/vc/compiler_barriers.h"
#include "cds/compiler/vc/defs.h"
#include "cds/compiler/vc/x86/backoff.h"
#include "cds/compiler/vc/x86/bitop.h"
#include "cds/compiler/vc/x86/cxx11_atomic.h"
#include "cds/container/basket_queue.h"
#include "cds/container/bronson_avltree_map_rcu.h"
#include "cds/container/cuckoo_map.h"
#include "cds/container/cuckoo_set.h"
#include "cds/container/details/base.h"
#include "cds/container/details/bronson_avltree_base.h"
#include "cds/container/details/cuckoo_base.h"
#include "cds/container/details/ellen_bintree_base.h"
#include "cds/container/details/feldman_hashmap_base.h"
#include "cds/container/details/feldman_hashset_base.h"
#include "cds/container/details/guarded_ptr_cast.h"
#include "cds/container/details/iterable_list_base.h"
#include "cds/container/details/lazy_list_base.h"
#include "cds/container/details/make_iterable_kvlist.h"
#include "cds/container/details/make_iterable_list.h"
#include "cds/container/details/make_lazy_kvlist.h"
#include "cds/container/details/make_lazy_list.h"
#include "cds/container/details/make_michael_kvlist.h"
#include "cds/container/details/make_michael_list.h"
#include "cds/container/details/make_skip_list_map.h"
#include "cds/container/details/make_skip_list_set.h"
#include "cds/container/details/make_split_list_set.h"
#include "cds/container/details/make_split_list_set_iterable_list.h"
#include "cds/container/details/make_split_list_set_lazy_list.h"
#include "cds/container/details/make_split_list_set_michael_list.h"
#include "cds/container/details/michael_list_base.h"
#include "cds/container/details/michael_map_base.h"
#include "cds/container/details/michael_set_base.h"
#include "cds/container/details/skip_list_base.h"
#include "cds/container/details/split_list_base.h"
#include "cds/container/ellen_bintree_map_dhp.h"
#include "cds/container/ellen_bintree_map_hp.h"
#include "cds/container/ellen_bintree_map_rcu.h"
#include "cds/container/ellen_bintree_set_dhp.h"
#include "cds/container/ellen_bintree_set_hp.h"
#include "cds/container/ellen_bintree_set_rcu.h"
#include "cds/container/fcdeque.h"
#include "cds/container/fcpriority_queue.h"
#include "cds/container/fcqueue.h"
#include "cds/container/fcstack.h"
#include "cds/container/feldman_hashmap_dhp.h"
#include "cds/container/feldman_hashmap_hp.h"
#include "cds/container/feldman_hashmap_rcu.h"
#include "cds/container/feldman_hashset_dhp.h"
#include "cds/container/feldman_hashset_hp.h"
#include "cds/container/feldman_hashset_rcu.h"
#include "cds/container/impl/bronson_avltree_map_rcu.h"
#include "cds/container/impl/ellen_bintree_map.h"
#include "cds/container/impl/ellen_bintree_set.h"
#include "cds/container/impl/feldman_hashmap.h"
#include "cds/container/impl/feldman_hashset.h"
#include "cds/container/impl/iterable_kvlist.h"
#include "cds/container/impl/iterable_list.h"
#include "cds/container/impl/lazy_kvlist.h"
#include "cds/container/impl/lazy_list.h"
#include "cds/container/impl/michael_kvlist.h"
#include "cds/container/impl/michael_list.h"
#include "cds/container/impl/skip_list_map.h"
#include "cds/container/impl/skip_list_set.h"
#include "cds/container/iterable_kvlist_dhp.h"
#include "cds/container/iterable_kvlist_hp.h"
#include "cds/container/iterable_list_dhp.h"
#include "cds/container/iterable_list_hp.h"
#include "cds/container/lazy_kvlist_dhp.h"
#include "cds/container/lazy_kvlist_hp.h"
#include "cds/container/lazy_kvlist_nogc.h"
#include "cds/container/lazy_kvlist_rcu.h"
#include "cds/container/lazy_list_dhp.h"
#include "cds/container/lazy_list_hp.h"
#include "cds/container/lazy_list_nogc.h"
#include "cds/container/lazy_list_rcu.h"
#include "cds/container/michael_kvlist_dhp.h"
#include "cds/container/michael_kvlist_hp.h"
#include "cds/container/michael_kvlist_nogc.h"
#include "cds/container/michael_kvlist_rcu.h"
#include "cds/container/michael_list_dhp.h"
#include "cds/container/michael_list_hp.h"
#include "cds/container/michael_list_nogc.h"
#include "cds/container/michael_list_rcu.h"
#include "cds/container/michael_map.h"
#include "cds/container/michael_map_nogc.h"
#include "cds/container/michael_map_rcu.h"
#include "cds/container/michael_set.h"
#include "cds/container/michael_set_nogc.h"
#include "cds/container/michael_set_rcu.h"
#include "cds/container/moir_queue.h"
#include "cds/container/mspriority_queue.h"
#include "cds/container/msqueue.h"
#include "cds/container/optimistic_queue.h"
#include "cds/container/rwqueue.h"
#include "cds/container/segmented_queue.h"
#include "cds/container/skip_list_map_dhp.h"
#include "cds/container/skip_list_map_hp.h"
#include "cds/container/skip_list_map_nogc.h"
#include "cds/container/skip_list_map_rcu.h"
#include "cds/container/skip_list_set_dhp.h"
#include "cds/container/skip_list_set_hp.h"
#include "cds/container/skip_list_set_nogc.h"
#include "cds/container/skip_list_set_rcu.h"
#include "cds/container/split_list_map.h"
#include "cds/container/split_list_map_nogc.h"
#include "cds/container/split_list_map_rcu.h"
#include "cds/container/split_list_set.h"
#include "cds/container/split_list_set_nogc.h"
#include "cds/container/split_list_set_rcu.h"
#include "cds/container/striped_map.h"
#include "cds/container/striped_map/boost_flat_map.h"
#include "cds/container/striped_map/boost_list.h"
#include "cds/container/striped_map/boost_map.h"
#include "cds/container/striped_map/boost_slist.h"
#include "cds/container/striped_map/boost_unordered_map.h"
#include "cds/container/striped_map/std_hash_map.h"
#include "cds/container/striped_map/std_list.h"
#include "cds/container/striped_map/std_map.h"
#include "cds/container/striped_set.h"
#include "cds/container/striped_set/adapter.h"
#include "cds/container/striped_set/boost_flat_set.h"
#include "cds/container/striped_set/boost_list.h"
#include "cds/container/striped_set/boost_set.h"
#include "cds/container/striped_set/boost_slist.h"
#include "cds/container/striped_set/boost_stable_vector.h"
#include "cds/container/striped_set/boost_unordered_set.h"
#include "cds/container/striped_set/boost_vector.h"
#include "cds/container/striped_set/std_hash_set.h"
#include "cds/container/striped_set/std_list.h"
#include "cds/container/striped_set/std_set.h"
#include "cds/container/striped_set/std_vector.h"
#include "cds/container/treiber_stack.h"
#include "cds/container/vyukov_mpmc_cycle_queue.h"
#include "cds/container/weak_ringbuffer.h"
#include "cds/details/aligned_allocator.h"
#include "cds/details/aligned_type.h"
#include "cds/details/allocator.h"
#include "cds/details/binary_functor_wrapper.h"
#include "cds/details/bit_reverse_counter.h"
#include "cds/details/bitop_generic.h"
#include "cds/details/bounded_array.h"
#include "cds/details/bounded_container.h"
#include "cds/details/defs.h"
#include "cds/details/is_aligned.h"
#include "cds/details/make_const_type.h"
#include "cds/details/marked_ptr.h"
#include "cds/details/size_t_cast.h"
#include "cds/details/throw_exception.h"
#include "cds/details/tls_holder.h"
#include "cds/details/type_padding.h"
#include "cds/gc/default_gc.h"
#include "cds/gc/details/hp_common.h"
#include "cds/gc/details/retired_ptr.h"
#include "cds/gc/dhp.h"
#include "cds/gc/hp.h"
#include "cds/gc/hp_membar.h"
#include "cds/gc/nogc.h"
#include "cds/init.h"
#include "cds/intrusive/basket_queue.h"
#include "cds/intrusive/cuckoo_set.h"
#include "cds/intrusive/details/base.h"
#include "cds/intrusive/details/ellen_bintree_base.h"
#include "cds/intrusive/details/feldman_hashset_base.h"
#include "cds/intrusive/details/iterable_list_base.h"
#include "cds/intrusive/details/lazy_list_base.h"
#include "cds/intrusive/details/michael_list_base.h"
#include "cds/intrusive/details/michael_set_base.h"
#include "cds/intrusive/details/node_traits.h"
#include "cds/intrusive/details/raw_ptr_disposer.h"
#include "cds/intrusive/details/single_link_struct.h"
#include "cds/intrusive/details/skip_list_base.h"
#include "cds/intrusive/details/split_list_base.h"
#include "cds/intrusive/ellen_bintree_dhp.h"
#include "cds/intrusive/ellen_bintree_hp.h"
#include "cds/intrusive/ellen_bintree_rcu.h"
#include "cds/intrusive/fcqueue.h"
#include "cds/intrusive/fcstack.h"
#include "cds/intrusive/feldman_hashset_dhp.h"
#include "cds/intrusive/feldman_hashset_hp.h"
#include "cds/intrusive/feldman_hashset_rcu.h"
#include "cds/intrusive/free_list.h"
#include "cds/intrusive/free_list_cached.h"
#include "cds/intrusive/free_list_selector.h"
#include "cds/intrusive/free_list_tagged.h"
#include "cds/intrusive/impl/ellen_bintree.h"
#include "cds/intrusive/impl/feldman_hashset.h"
#include "cds/intrusive/impl/iterable_list.h"
#include "cds/intrusive/impl/lazy_list.h"
#include "cds/intrusive/impl/michael_list.h"
#include "cds/intrusive/impl/skip_list.h"
#include "cds/intrusive/iterable_list_dhp.h"
#include "cds/intrusive/iterable_list_hp.h"
#include "cds/intrusive/lazy_list_dhp.h"
#include "cds/intrusive/lazy_list_hp.h"
#include "cds/intrusive/lazy_list_nogc.h"
#include "cds/intrusive/lazy_list_rcu.h"
#include "cds/intrusive/michael_list_dhp.h"
#include "cds/intrusive/michael_list_hp.h"
#include "cds/intrusive/michael_list_nogc.h"
#include "cds/intrusive/michael_list_rcu.h"
#include "cds/intrusive/michael_set.h"
#include "cds/intrusive/michael_set_nogc.h"
#include "cds/intrusive/michael_set_rcu.h"
#include "cds/intrusive/moir_queue.h"
#include "cds/intrusive/mspriority_queue.h"
#include "cds/intrusive/msqueue.h"
#include "cds/intrusive/optimistic_queue.h"
#include "cds/intrusive/options.h"
#include "cds/intrusive/segmented_queue.h"
#include "cds/intrusive/skip_list_dhp.h"
#include "cds/intrusive/skip_list_hp.h"
#include "cds/intrusive/skip_list_nogc.h"
#include "cds/intrusive/skip_list_rcu.h"
#include "cds/intrusive/split_list.h"
#include "cds/intrusive/split_list_nogc.h"
#include "cds/intrusive/split_list_rcu.h"
#include "cds/intrusive/striped_set.h"
#include "cds/intrusive/striped_set/adapter.h"
#include "cds/intrusive/striped_set/boost_avl_set.h"
#include "cds/intrusive/striped_set/boost_list.h"
#include "cds/intrusive/striped_set/boost_set.h"
#include "cds/intrusive/striped_set/boost_sg_set.h"
#include "cds/intrusive/striped_set/boost_slist.h"
#include "cds/intrusive/striped_set/boost_splay_set.h"
#include "cds/intrusive/striped_set/boost_treap_set.h"
#include "cds/intrusive/striped_set/boost_unordered_set.h"
#include "cds/intrusive/striped_set/resizing_policy.h"
#include "cds/intrusive/striped_set/striping_policy.h"
#include "cds/intrusive/treiber_stack.h"
#include "cds/intrusive/vyukov_mpmc_cycle_queue.h"
#include "cds/lock/array.h"
#include "cds/lock/spinlock.h"
#include "cds/memory/pool_allocator.h"
#include "cds/memory/vyukov_queue_pool.h"
#include "cds/opt/buffer.h"
#include "cds/opt/compare.h"
#include "cds/opt/hash.h"
#include "cds/opt/options.h"
#include "cds/opt/permutation.h"
#include "cds/opt/value_cleaner.h"
#include "cds/os/aix/alloc_aligned.h"
#include "cds/os/aix/timer.h"
#include "cds/os/aix/topology.h"
#include "cds/os/alloc_aligned.h"
#include "cds/os/details/fake_topology.h"
#include "cds/os/free_bsd/alloc_aligned.h"
#include "cds/os/free_bsd/timer.h"
#include "cds/os/free_bsd/topology.h"
#include "cds/os/hpux/alloc_aligned.h"
#include "cds/os/hpux/timer.h"
#include "cds/os/hpux/topology.h"
#include "cds/os/libc/alloc_aligned.h"
#include "cds/os/linux/alloc_aligned.h"
#include "cds/os/linux/timer.h"
#include "cds/os/linux/topology.h"
#include "cds/os/osx/timer.h"
#include "cds/os/osx/topology.h"
#include "cds/os/posix/alloc_aligned.h"
#include "cds/os/posix/fake_topology.h"
#include "cds/os/posix/thread.h"
#include "cds/os/posix/timer.h"
#include "cds/os/sunos/alloc_aligned.h"
#include "cds/os/sunos/timer.h"
#include "cds/os/sunos/topology.h"
#include "cds/os/thread.h"
#include "cds/os/timer.h"
#include "cds/os/topology.h"
#include "cds/os/win/alloc_aligned.h"
#include "cds/os/win/thread.h"
#include "cds/os/win/timer.h"
#include "cds/os/win/topology.h"
#include "cds/sync/injecting_monitor.h"
#include "cds/sync/lock_array.h"
#include "cds/sync/monitor.h"
#include "cds/sync/pool_monitor.h"
#include "cds/sync/spinlock.h"
#include "cds/threading/details/_common.h"
#include "cds/threading/details/auto_detect.h"
#include "cds/threading/details/cxx11.h"
#include "cds/threading/details/cxx11_manager.h"
#include "cds/threading/details/gcc.h"
#include "cds/threading/details/gcc_manager.h"
#include "cds/threading/details/msvc.h"
#include "cds/threading/details/msvc_manager.h"
#include "cds/threading/details/pthread.h"
#include "cds/threading/details/pthread_manager.h"
#include "cds/threading/details/wintls.h"
#include "cds/threading/details/wintls_manager.h"
#include "cds/threading/model.h"
#include "cds/urcu/details/base.h"
#include "cds/urcu/details/check_deadlock.h"
#include "cds/urcu/details/gp.h"
#include "cds/urcu/details/gp_decl.h"
#include "cds/urcu/details/gpb.h"
#include "cds/urcu/details/gpi.h"
#include "cds/urcu/details/gpt.h"
#include "cds/urcu/details/sh.h"
#include "cds/urcu/details/sh_decl.h"
#include "cds/urcu/details/sig_buffered.h"
#include "cds/urcu/dispose_thread.h"
#include "cds/urcu/exempt_ptr.h"
#include "cds/urcu/general_buffered.h"
#include "cds/urcu/general_instant.h"
#include "cds/urcu/general_threaded.h"
#include "cds/urcu/options.h"
#include "cds/urcu/raw_ptr.h"
#include "cds/urcu/signal_buffered.h"
#include "cds/user_setup/allocator.h"
#include "cds/user_setup/cache_line.h"
#include "cds/user_setup/threading.h"
#include "cds/version.h"