is equal to <tt> &val </tt>.
The function returns \p true if success and \p false otherwise.
+
+ \p disposer specified in \p Traits is called for unlinked item.
*/
bool unlink( value_type& 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.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q>
bool erase( Q const& key )
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.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q, typename Less>
bool erase_with( Q const& key, Less pred )
\endcode
If \p key is not found the function return \p false.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q, typename Func>
bool erase( const Q& key, Func 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.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q, typename Less, typename Func>
bool erase_with( const Q& key, Less pred, Func func )
only if \p val is an item of the list, i.e. the pointer to item found
is equal to <tt> &val </tt>.
+ \p disposer specified in \p Traits is called for deleted item.
+
The function returns \p true if success and \p false otherwise.
*/
bool unlink( value_type& 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 \p key is not found the function return \p false.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q>
bool erase( Q const& key )
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.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q, typename Less>
bool erase_with( Q const& key, Less pred )
};
\endcode
If \p key is not found the function return \p false, \p func is not called.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q, typename Func>
bool erase( Q const& key, Func 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.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q, typename Less, typename Func>
bool erase_with( Q const& key, Less pred, Func f )
The function searches the item \p val in the list and unlink it from the list
if it is found and it is equal to \p val.
- Difference between \ref erase and \p unlink functions: \p erase finds <i>a key</i>
- and deletes the item found. \p unlink finds an item by key and deletes it
+ Difference between \p erase() and \p %unlink() functions: \p %erase() finds <i>a key</i>
+ and deletes the item found. \p %unlink() finds an item by key and deletes it
only if \p val is an item of that list, i.e. the pointer to item found
is equal to <tt> &val </tt>.
RCU \p synchronize method can be called. The RCU should not be locked.
Note that depending on RCU type used the \ref disposer call can be deferred.
- The function can throw cds::urcu::rcu_deadlock exception if deadlock is encountered and
- deadlock checking policy is opt::v::rcu_throw_deadlock.
+ \p disposer specified in \p Traits is called for unlinked item.
+
+ The function can throw \p cds::urcu::rcu_deadlock exception if deadlock is encountered and
+ deadlock checking policy is \p opt::v::rcu_throw_deadlock.
*/
bool unlink( value_type& val )
{
RCU \p synchronize method can be called. The RCU should not be locked.
Note that depending on RCU type used the \ref disposer call can be deferred.
+ \p disposer specified in \p Traits is called for deleted item.
+
The function can throw \ref cds_urcu_rcu_deadlock "cds::urcu::rcu_deadlock" exception if deadlock is encountered and
- deadlock checking policy is opt::v::rcu_throw_deadlock.
+ deadlock checking policy is \p opt::v::rcu_throw_deadlock.
*/
template <typename Q>
bool erase( Q const& key )
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.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q, typename Less>
bool erase_with( Q const& key, Less pred )
RCU \p synchronize method can be called. The RCU should not be locked.
Note that depending on RCU type used the \ref disposer call can be deferred.
+ \p disposer specified in \p Traits is called for deleted item.
+
The function can throw \ref cds_urcu_rcu_deadlock "cds::urcu::rcu_deadlock" exception if deadlock is encountered and
- deadlock checking policy is opt::v::rcu_throw_deadlock.
+ deadlock checking policy is \p opt::v::rcu_throw_deadlock.
*/
template <typename Q, typename Func>
bool erase( Q const& key, Func 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.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q, typename Less, typename Func>
bool erase_with( Q const& key, Less pred, Func func )
The function searches the item \p val in the list and unlink it from the list
if it is found and it is equal to \p val.
- Difference between \ref erase and \p unlink functions: \p erase finds <i>a key</i>
- and deletes the item found. \p unlink finds an item by key and deletes it
+ Difference between \p erase() and \p %unlink() functions: \p %erase() finds <i>a key</i>
+ and deletes the item found. \p %unlink() finds an item by key and deletes it
only if \p val is an item of that list, i.e. the pointer to the item found
is equal to <tt> &val </tt>.
RCU \p synchronize method can be called.
Note that depending on RCU type used the \ref disposer call can be deferred.
+ \p disposer specified in \p Traits is called for unlinked item.
+
The function can throw cds::urcu::rcu_deadlock exception if deadlock is encountered and
deadlock checking policy is opt::v::rcu_throw_deadlock.
*/
RCU \p synchronize method can be called.
Note that depending on RCU type used the \ref disposer call can be deferred.
+ \p disposer specified in \p Traits is called for deleted item.
+
The function can throw \ref cds_urcu_rcu_deadlock "cds::urcu::rcu_deadlock" exception if a deadlock is detected and
the deadlock checking policy is \p opt::v::rcu_throw_deadlock.
*/
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.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q, typename Less>
bool erase_with( Q const& key, Less pred )
RCU \p synchronize method can be called.
Note that depending on RCU type used the \ref disposer call can be deferred.
+ \p disposer specified in \p Traits is called for deleted item.
+
The function can throw \ref cds_urcu_rcu_deadlock "cds::urcu::rcu_deadlock" exception if a deadlock is detected and
the deadlock checking policy is \p opt::v::rcu_throw_deadlock.
*/
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.
+
+ \p disposer specified in \p Traits is called for deleted item.
*/
template <typename Q, typename Less, typename Func>
bool erase_with( Q const& key, Less pred, Func func )