/// Extracts an item from the map
/** \anchor cds_nonintrusive_SplitListMap_rcu_extract
The function searches an item with key equal to \p key in the map,
/// Extracts an item from the map
/** \anchor cds_nonintrusive_SplitListMap_rcu_extract
The function searches an item with key equal to \p key in the map,
- unlinks it from the map, places item pointer into \p dest argument, and returns \p true.
- If the item with the key equal to \p key is not found the function return \p false.
+ unlinks it from the map, and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item found.
+ If the item with the key equal to \p key is not found the function returns an empty \p exempt_ptr.
@note The function does NOT call RCU read-side lock or synchronization,
and does NOT dispose the item found. It just excludes the item from the map
@note The function does NOT call RCU read-side lock or synchronization,
and does NOT dispose the item found. It just excludes the item from the map
// Now, you can apply extract function
// Note that you must not delete the item found inside the RCU lock
// Now, you can apply extract function
// Note that you must not delete the item found inside the RCU lock
\p pred must imply the same element order as the comparator used for building the map.
*/
template <typename K, typename Less>
\p pred must imply the same element order as the comparator used for building the map.
*/
template <typename K, typename Less>
- return base_class::extract_with( dest, key, cds::details::predicate_wrapper<value_type, Less, key_accessor>());
+ return base_class::extract_with( key, cds::details::predicate_wrapper<value_type, Less, key_accessor>());