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