devel/libcds 2.3.3.102_1 FreeBSD
C++ library of Concurrent Data Structures
- System
- FreeBSD
- Repository
- FreeBSD ports
- Maintainer
- [email protected]
- Last update
- Commit
0b23c55e5d- License
- BSL
- Categories
- devel
- Package size
- 380.3 KiB, 4616.3 KiB installed
Description
The Concurrent Data Structures (CDS) library is a collection of concurrent containers that don't require external (manual) synchronization for shared access, and safe memory reclamation (SMR) algorithms like Hazard Pointer and user-space RCU that is used as an epoch-based SMR.
CDS is mostly header-only template library. Only SMR core implementation is segregated to .so file.
The library contains the implementations of the following containers: * lock-free stack with optional elimination support * several algo for lock-free queue, including classic Michael & Scott algorithm and its derivatives, the flat combining queue, the segmented queue. * several implementation of unordered set/map - lock-free and fine-grained lock-based * flat-combining technique * lock-free skip-list * lock-free FeldmanHashMap/Set Multi-Level Array Hash with thread-safe bidirectional iterator support * Bronson's et al algorithm for fine-grained lock-based AVL tree
Generally, each container has an intrusive and non-intrusive (STL-like) version belonging to cds::intrusive and cds::container namespace respectively.
In the other systems
| System | Port | Version |
|---|---|---|
| FreeBSD | devel/libcds | 2.3.3.102_1 |
| DragonFly | devel/libcds | 2.3.3.102_1 |
Install
Binary package:
pkg install libcds
From the ports tree:
cd /usr/ports/devel/libcds/ && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= libcds>0:devel/libcds
LIB_DEPENDS= libcds.so:devel/libcds
Packages
The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | 2.3.3.102_1 | 2.3.3.102_1 | 2.3.3.102_1 | 2.3.3.102_1 | 2.3.3.102_1 |
| FreeBSD:14:quarterly | 2.3.3.102_1 | 2.3.3.102_1 | n/a | 2.3.3.102_1 | 2.3.3.102_1 |
| FreeBSD:15:latest | 2.3.3.102_1 | 2.3.3.102_1 | n/a | 2.3.3.102_1 | 2.3.3.102_1 |
| FreeBSD:15:quarterly | 2.3.3.102_1 | 2.3.3.102_1 | n/a | n/a | n/a |
| FreeBSD:16:latest | 2.3.3.102_1 | 2.3.3.102_1 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/a |
Dependencies
The Makefile names none itself; they come from USES and USE_*.
The full lists below include those, and their dependencies in turn.
Build dependencies 15
No port depends on this one.
Configuration
No options to configure.
- USES
- cmake:testing compiler:c++11-lang
- Service scripts
- none
Files
pkg-plist 360
- 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
The first 100 are listed.
distinfo 1
| File | Size | SHA256 |
|---|---|---|
| khizmax-libcds-v2.3.3-102-g9985d2a8_GH0.tar.gz | 1.466062e+06 | 9ea263bb20f47e36a0db8f0f891f4da30706378774ab53c09b5dc9763ff2afa0 |