- \p GC - Garbage collector used. Note the \p GC must be the same as the GC used for item type \p T (see lazy_list::node).
- \p T - type to be stored in the list. The type must be based on lazy_list::node (for lazy_list::base_hook)
or it must have a member of type lazy_list::node (for lazy_list::member_hook).
- - \p Traits - type traits. See lazy_list::traits for explanation.
+ - \p Traits - type traits. See lazy_list::traits for explanation.
It is possible to declare option-based list with cds::intrusive::lazy_list::make_traits metafunction istead of \p Traits template
argument. For example, the following traits-based declaration of \p gc::HP lazy list
\code
//@cond
// Rebind traits (split-list support)
template <typename... Options>
- struct rebind_options {
+ struct rebind_traits {
typedef LazyList<
gc
, value_type
{
return get_const_begin();
}
- const_iterator cbegin()
+ const_iterator cbegin() const
{
return get_const_begin();
}
{
return get_const_end();
}
- const_iterator cend()
+ const_iterator cend() const
{
return get_const_end();
}
void func( value_type& val );
\endcode
where \p val is the item inserted.
- While the functor \p f is working the item \p val is locked.
+ While the functor \p f is called the item \p val is locked so
+ the functor has an exclusive access to the item.
The user-defined functor is called only if the inserting is success.
*/
template <typename Func>
refer to the same thing.
The functor may change non-key fields of the \p item.
- While the functor \p f is working the item \p item is locked.
+ While the functor \p f is working the item \p item is locked,
+ so \p f has exclusive access to the item.
Returns std::pair<bool, bool> where \p first is \p true if operation is successfull,
\p second is \p true if new item has been added or \p false if the item with \p key