The operation performs inserting or changing data with lock-free manner.
If the \p key not found in the map, then the new item created from \p key
- is inserted into the map (note that in this case the \ref key_type should be
+ is inserted into the map (note that in this case the \p key_type should be
constructible from type \p K).
Otherwise, the functor \p func is called with item found.
The functor \p Func may be a function with signature:
- \p bNew - \p true if the item has been inserted, \p false otherwise
- \p item - item of the tree
- The functor may change any fields of the \p item.second that is \ref value_type.
+ The functor may change any fields of the \p item.second that is \p value_type.
RCU \p synchronize() method can be called. RCU should not be locked.
The function is an analog of \ref cds_nonintrusive_EllenBinTreeMap_rcu_get "get(Q const&)"
but \p pred is used for comparing the keys.
- \p Less functor has the semantics like \p std::less but should take arguments of type \ref value_type
+ \p Less functor has the semantics like \p std::less but should take arguments of type \p key_type
and \p Q in any order.
\p pred must imply the same element order as the comparator used for building the map.
*/
10. Added compiler barrier to spin-lock release primitive for x86 and amd64
11. Makefile script is changed to resolve the problem when an user calls 'make clean' directly.
Thanks to Tamas Lengyel to point me to this bug.
- 12. The file dictionary.txt is exluded from distributive. This file is used for testing purposes only.
+ 12. The file dictionary.txt is excluded from distributive. This file is used for testing purposes only.
You may create dictionary.txt in this way:
cd ./tests/data
perl -X split.pl
<hr/>\r
<div align="right">\r
<b>$projectname</b> <b>$projectnumber</b> \r
- Developed by <i>Maxim Khiszinsky aka khizmax</i> 2007 - 2014\r
+ Developed by <i>Maxim Khizhinsky aka khizmax</i> 2007 - 2015\r
<br/>\r
<i>Autogenerated $datetime by Doxygen $doxygenversion</i>\r
</div>\r