- \p opt::compare - key compare functor. No default functor is provided.
If the option is not specified, the \p opt::less is used.
- \p opt::less - specifies binary predicate used for key compare. Default is \p std::less<T>.
- - \p opt::equal_to - specifies binary functor for comparing keys for equality. No default is provided. If \p equal_to is
- not specified, \p compare is used, if \p compare is not specified, \p less is used.
- - \p opt::sort - specifies ordering policy. Default value is \p true.
+ - \p opt::equal_to - specifies binary functor for comparing keys for equality. This option is applicable only for unordered list.
+ No default is provided. If \p equal_to is not specified, \p compare is used, if \p compare is not specified, \p less is used.
+ - \p opt::sort - specifies ordering policy. Default value is \p true, i.e. the list is ordered.
+ Note: unordering feature is not fully supported yet.
- \p opt::back_off - back-off strategy used. If the option is not specified, \p cds::backoff::Default is used.
- \p opt::item_counter - the type of item counting feature. Default is disabled (\p atomicity::empty_item_counter).
To enable item counting use \p atomicity::item_counter.
- \p opt::compare - key comparison functor. No default functor is provided.
If the option is not specified, the \p opt::less is used.
- \p opt::less - specifies binary predicate used for key comparison. Default is \p std::less<T>.
- - \p opt::equal_to - specifies binary functor for comparing keys for equality. If \p equal_to is not specified, \p compare is
- used, \p compare is not specified, \p less is used.
- - \p opt::sort - specifies ordering policy. Default value is \p true.
+ - \p opt::equal_to - specifies binary functor for comparing keys for equality. This option is applicable only for unordered list.
+ If \p equal_to is not specified, \p compare is used, \p compare is not specified, \p less is used.
+ - \p opt::sort - specifies ordering policy. Default value is \p true, i.e. the list is ordered.
+ Note: unordering feature is not fully supported yet.
- \p opt::back_off - back-off strategy used. If the option is not specified, the \p cds::backoff::Default is used.
- \p opt::disposer - the functor used for dispose removed items. Default is \p opt::v::empty_disposer. Due the nature
of GC schema the disposer may be called asynchronously.
typedef typename hook::node_type node_type; ///< node type
# ifdef CDS_DOXYGEN_INVOKED
- typedef implementation_defined key_comparator ; ///< key comparison functor based on opt::compare and opt::less option setter.
+ typedef implementation_defined key_comparator; ///< key comparison functor based on opt::compare and opt::less option setter.
# else
typedef typename opt::details::make_comparator< value_type, traits >::type key_comparator;
# endif
typedef typename get_node_traits< value_type, node_type, hook>::type node_traits; ///< node traits
typedef typename lazy_list::get_link_checker< node_type, traits::link_checker >::type link_checker; ///< link checker
- typedef typename traits::back_off back_off ; ///< back-off strategy
- typedef typename traits::item_counter item_counter ; ///< Item counting policy used
- typedef typename traits::memory_model memory_model; ///< C++ memory ordering (see \p lazy_list::traits::memory_model)
+ typedef typename traits::back_off back_off; ///< back-off strategy
+ typedef typename traits::item_counter item_counter; ///< Item counting policy used
+ typedef typename traits::memory_model memory_model; ///< C++ memory ordering (see \p lazy_list::traits::memory_model)
typedef typename gc::template guarded_ptr< value_type > guarded_ptr; ///< Guarded pointer
gc
, value_type
, typename cds::opt::make_options< traits, Options...>::type
- > type;
+ > type;
};
//@endcond
node_type m_Head;
node_type m_Tail;
- item_counter m_ItemCounter ; ///< Item counter
+ item_counter m_ItemCounter;
//@cond
struct clean_disposer {
/// Position pointer for item search
struct position {
- node_type * pPred ; ///< Previous node
- node_type * pCur ; ///< Current node
+ node_type * pPred; ///< Previous node
+ node_type * pCur; ///< Current node
- typename gc::template GuardArray<2> guards ; ///< Guards array
+ typename gc::template GuardArray<2> guards; ///< Guards array
enum {
guard_prev_item,