}
/// Deletes the item from the list
- /** \anchor cds_intrusive_LazyList_rcu_find_erase
+ /**
The function searches an item with key equal to \p key in the list,
unlinks it from the list, and returns \p true.
If the item with the key equal to \p key is not found the function return \p false.
/// Deletes the item from the list using \p pred predicate for searching
/**
- The function is an analog of \ref cds_intrusive_LazyList_rcu_find_erase "erase(Q const&)"
+ The function is an analog of \p erase(Q const&)
but \p pred is used for key comparing.
\p Less functor has the interface like \p std::less.
\p pred must imply the same element order as the comparator used for building the list.
}
/// Deletes the item from the list
- /** \anchor cds_intrusive_LazyList_rcu_find_erase_func
+ /**
The function searches an item with key equal to \p key in the list,
call \p func functor with item found, unlinks it from the list, and returns \p true.
The \p Func interface is
/// Deletes the item from the list using \p pred predicate for searching
/**
- The function is an analog of \ref cds_intrusive_LazyList_rcu_find_erase_func "erase(Q const&, Func)"
+ The function is an analog of \p erase(Q const&, Func)
but \p pred is used for key comparing.
\p Less functor has the interface like \p std::less.
\p pred must imply the same element order as the comparator used for building the list.
/// Extracts an item from the list
/**
- \anchor cds_intrusive_LazyList_rcu_extract
The function searches an item with key equal to \p key in the list,
unlinks it from the list, and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to an item found.
If the item is not found the function returns 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 unlinks the item from the list
and returns a pointer to it.
- You should manually lock RCU before calling this function, and you should manually synchronize RCU
- outside the RCU lock region before reusing returned pointer.
+ You should manually lock RCU before calling this function, and you should manually release
+ the returned exempt pointer outside the RCU lock region before reusing returned pointer.
\code
#include <cds/urcu/general_buffered.h>
}
/// Finds the key \p key
- /** \anchor cds_intrusive_LazyList_rcu_find_func
+ /**
The function searches the item with key equal to \p key
and calls the functor \p f for item found.
The interface of \p Func functor is:
/// Finds the key \p key using \p pred predicate for searching
/**
- The function is an analog of <tt>contains( key )</tt> but \p pred is used for key comparing.
+ The function is an analog of \p find( Q&, Func ) but \p pred is used for key comparing.
\p Less functor has the interface like \p std::less.
\p pred must imply the same element order as the comparator used for building the list.
*/
/// Checks whether the map contains \p key using \p pred predicate for searching
/**
- The function is an analog of <tt>contains( key )</tt> but \p pred is used for key comparing.
+ The function is an analog of \p contains( Q const& ) but \p pred is used for key comparing.
\p Less functor has the interface like \p std::less.
\p Less must imply the same element order as the comparator used for building the list.
*/
}
/// Deletes the item from the list
- /** \anchor cds_intrusive_MichaelList_rcu_erase_val
+ /**
The function searches an item with key equal to \p key in the list,
unlinks it from the list, and returns \p true.
If the item with the key equal to \p key is not found the function return \p false.
/// Deletes the item from the list using \p pred predicate for searching
/**
- The function is an analog of \ref cds_intrusive_MichaelList_rcu_erase_val "erase(Q const&)"
+ The function is an analog of \p erase(Q const&)
but \p pred is used for key comparing.
\p Less functor has the interface like \p std::less.
\p pred must imply the same element order as the comparator used for building the list.
}
/// Deletes the item from the list
- /** \anchor cds_intrusive_MichaelList_rcu_erase_func
+ /**
The function searches an item with key equal to \p key in the list,
call \p func functor with item found, unlinks it from the list, and returns \p true.
The \p Func interface is
/// Deletes the item from the list using \p pred predicate for searching
/**
- The function is an analog of \ref cds_intrusive_MichaelList_rcu_erase_func "erase(Q const&, Func)"
+ The function is an analog of \p erase(Q const&, Func)
but \p pred is used for key comparing.
\p Less functor has the interface like \p std::less.
\p pred must imply the same element order as the comparator used for building the list.
/// Extracts an item from the list
/**
- @anchor cds_intrusive_MichaelList_rcu_extract
The function searches an item with key equal to \p key in the list,
unlinks it from the list, and returns \ref cds::urcu::exempt_ptr "exempt_ptr" pointer to the item found.
If \p key is not found the function returns an empty \p exempt_ptr.
@note The function does NOT dispose the item found. It just unlinks the item from the list
and returns a pointer to item found.
You shouldn't lock RCU for current thread before calling this function, and you should manually release
- \p dest exempt pointer outside the RCU lock before reusing it.
+ the returned exempt pointer before reusing it.
\code
#include <cds/urcu/general_buffered.h>
}
/// Find the key \p val
- /** \anchor cds_intrusive_MichaelList_rcu_find_func
+ /**
The function searches the item with key equal to \p key
and calls the functor \p f for item found.
The interface of \p Func functor is: