|
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.