cds
2.3.2
|
Metafunction converting option list to traits for SegmentedQueue. More...
#include <cds/intrusive/segmented_queue.h>
Public Types | |
typedef implementation_defined | type |
Metafunction result. | |
Metafunction converting option list to traits for SegmentedQueue.
The metafunction can be useful if a few fields in segmented_queue::traits
should be changed. For example:
This code creates SegmentedQueue
type traits with item counting feature, all other segmented_queue::traits
members left unchanged.
Options
are:
opt::disposer
- the functor used to dispose removed items.opt::stat
- internal statistics, possible type: segmented_queue::stat
, segmented_queue::empty_stat
(the default)opt::item_counter
- item counting feature. Note that atomicity::empty_item_counetr
is not suitable for segmented queue.opt::memory_model
- memory model, default is opt::v::relaxed_ordering
. See option description for the full list of possible modelsopt::alignment
- the alignment for critical data, see option description for explanationopt::padding
- the padding of segment data, default no special padding. See traits::padding
for explanation.opt::allocator
- the allocator to be used for maintaining segments.opt::lock_type
- a mutual exclusion lock type used to maintain internal list of allocated segments. Default is cds::opt::Spin
, std::mutex
is also suitable.opt::permutation_generator
- a random permutation generator for sequence [0, quasi_factor), default is cds::opt::v::random2_permutation<int>