cds
2.3.2
|
BronsonAVLTreeMap
traits
More...
#include <cds/container/details/bronson_avltree_base.h>
Public Types | |
typedef opt::none | compare |
Key comparison functor. More... | |
typedef opt::none | less |
Specifies binary predicate used for key compare. More... | |
typedef CDS_DEFAULT_ALLOCATOR | node_allocator |
Allocator for internal node. | |
typedef CDS_DEFAULT_ALLOCATOR | allocator |
Allocator for node's value (not used in BronsonAVLTreeMap<RCU, Key, T*, Traits> specialisation) | |
typedef opt::v::delete_disposer | disposer |
Disposer (only for pointer-oriented tree specialization) More... | |
typedef cds::sync::injecting_monitor< cds::sync::spin > | sync_monitor |
Synchronization monitor type for node-level locking | |
typedef atomicity::empty_item_counter | item_counter |
Item counter. More... | |
typedef opt::v::relaxed_ordering | memory_model |
C++ memory ordering model. More... | |
typedef empty_stat | stat |
Internal statistics. More... | |
typedef cds::backoff::empty | back_off |
Back-off strategy. | |
typedef cds::opt::v::rcu_throw_deadlock | rcu_check_deadlock |
RCU deadlock checking policy. More... | |
Static Public Attributes | |
static bool const | relaxed_insert = false |
Enable relaxed insertion. More... | |
BronsonAVLTreeMap
traits
Note that there are two main specialization of Bronson et al AVL-tree:
Depends on tree specialization, different traits member can be used.
Key comparison functor.
No default functor is provided. If the option is not specified, the less
is used.
See cds::opt::compare
option description for functor interface.
You should provide compare
or less
functor.
typedef opt::v::delete_disposer cds::container::bronson_avltree::traits::disposer |
Disposer (only for pointer-oriented tree specialization)
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 routing node without value, the disposer will be called to signal that the memory for the value can be safely freed. Default is cds::container::opt::v::delete_disposer<> which calls delete
operator.
Item counter.
The type for item counter, by default it is disabled (atomicity::empty_item_counter
). To enable it use atomicity::item_counter
or atomicity::cache_friendly_item_counter
.
Specifies binary predicate used for key compare.
See cds::opt::less
option description for predicate interface.
You should provide compare
or less
functor.
C++ memory ordering model.
List of available memory ordering see opt::memory_model
RCU deadlock checking policy.
List of available options see opt::rcu_check_deadlock
Internal statistics.
By default, internal statistics is disabled (bronson_avltree::empty_stat
). To enable it use bronson_avltree::stat
.
|
static |
Enable relaxed insertion.
About relaxed insertion see bronson_avltree::relaxed_insert
option. By default, this option is disabled.