|
cds
2.3.2
|
Metafunction converting option list to BronsonAVLTreeMap traits. More...
#include <cds/container/details/bronson_avltree_base.h>
Public Types | |
| typedef implementation_defined | type |
| Metafunction result. | |
Metafunction converting option list to BronsonAVLTreeMap traits.
Note that there are two main specialization of Bronson et al AVL-tree:
Depends on tree specialization, different options can be specified.
Options are:
opt::compare - key compare functor. No default functor is provided. If the option is not specified, opt::less is used.opt::less - specifies binary predicate used for key compare. At least opt::compare or opt::less should be defined.opt::node_allocator - the allocator for internal nodes. Default is CDS_DEFAULT_ALLOCATOR.opt::allocator - the allocator for node's value. Default is CDS_DEFAULT_ALLOCATOR. This option is not used in BronsonAVLTreeMap<RCU, Key, T*, Traits> specialisationcds::intrusive::opt::disposer - the functor used for dispose removed values. The user-provided disposer is used only for pointer-oriented tree specialization like BronsonAVLTreeMap<GC, Key, T*, Traits>. When the node becomes the rounting node without value, the disposer will be called to signal that the memory for the value can be safely freed. Default is cds::intrusive::opt::delete_disposer which calls delete operator. Due the nature of GC schema the disposer may be called asynchronously.opt::sync_monitor - synchronization monitor type for node-level locking, default is cds::sync::injecting_monitor<cds::sync::spin> bronson_avltree::relaxed_insert - enable (true) or disable (false, the default) relaxed insertionopt::item_counter - the type of item counting feature, by default it is disabled (atomicity::empty_item_counter) To enable it use atomicity::item_counter or atomicity::cache_friendly_item_counter opt::memory_model - C++ memory ordering model. Can be opt::v::relaxed_ordering (relaxed memory model, the default) or opt::v::sequential_consistent (sequentially consisnent memory model).opt::stat - internal statistics, by default it is disabled (bronson_avltree::empty_stat) To enable statistics use bronson_avltree::stat opt::backoff - back-off strategy, by default no strategy is used (cds::backoff::empty)opt::rcu_check_deadlock - a deadlock checking policy for RCU-based tree, default is opt::v::rcu_throw_deadlock