cds
2.3.2
|
Metafunction converting option list to vyukov_queue::traits
.
More...
#include <cds/container/vyukov_mpmc_cycle_queue.h>
Public Types | |
typedef implementation_defined | type |
Metafunction result. | |
Metafunction converting option list to vyukov_queue::traits
.
Supported Options
are:
opt::buffer
- an uninitialized buffer type for internal cyclic array. Possible types are: opt::v::uninitialized_dynamic_buffer
(the default), opt::v::uninitialized_static_buffer
. The type of element in the buffer is not important: it will be changed via rebind
metafunction.opt::value_cleaner
- a functor to clean item dequeued. The functor calls the destructor for queue item. After an item is dequeued, value_cleaner
cleans the cell that the item has been occupied. If T
is a complex type, value_cleaner
can be an useful feature. Default value is opt::v::auto_cleaneropt::back_off
- back-off strategy used. If the option is not specified, the cds::backoff::Default
is used.opt::item_counter
- the type of item counting feature. Default is cds::atomicity::empty_item_counter
(item counting disabled) To enable item counting use cds::atomicity::item_counter
opt::padding
- padding for internal critical atomic data. Default is opt::cache_line_padding
opt::memory_model
- C++ memory ordering model. Can be opt::v::relaxed_ordering
(relaxed memory model, the default) or opt::v::sequential_consistent
(sequentially consisnent memory model).Example: declare VyukovMPMCCycleQueue
with item counting and static iternal buffer of size 1024: