cds  2.3.2
cds::container::bronson_avltree::relaxed_insert< Enable > Struct Template Reference

Option to allow relaxed insert into Bronson et al AVL-tree. More...

#include <cds/container/details/bronson_avltree_base.h>

Detailed Description

template<bool Enable>
struct cds::container::bronson_avltree::relaxed_insert< Enable >

Option to allow relaxed insert into Bronson et al AVL-tree.

By default, this option is disabled and the new node is created under its parent lock. In this case, it is guaranteed the new node will be attached to its parent. On the other hand, constructing of the new node can be too complex to make it under the lock, that can lead to lock contention.

When this option is enabled, the new node is created before locking the parent node. After that, the parent is locked and checked whether the new node can be attached to the parent. In this case, false node creating can be performed, but locked section can be significantly small.


The documentation for this struct was generated from the following file:

cds 2.3.2 Developed by Maxim Khizhinsky aka khizmax and other contributors 2007 - 2017
Autogenerated Sun Dec 31 2017 12:10:30 by Doxygen 1.8.13