|
cds
2.3.2
|
WeakRingBuffer default traits
More...
#include <cds/container/weak_ringbuffer.h>
Public Types | |
| enum | { padding = opt::cache_line_padding } |
Padding for internal critical atomic data. Default is opt::cache_line_padding. | |
| typedef cds::opt::v::uninitialized_dynamic_buffer< void *> | buffer |
| Buffer type for internal array. | |
| typedef cds::opt::v::auto_cleaner | value_cleaner |
| A functor to clean item dequeued. More... | |
| typedef opt::v::relaxed_ordering | memory_model |
| C++ memory ordering model. More... | |
WeakRingBuffer default traits
C++ memory ordering model.
Can be opt::v::relaxed_ordering (relaxed memory model, the default) or opt::v::sequential_consistent (sequentially consistent memory model).
A functor to clean item dequeued.
The functor calls the destructor for popped element. After a set of items is dequeued, value_cleaner cleans the cells that the items have been occupied. If T is a complex type, value_cleaner may be useful feature. For POD types opt::v::empty_cleaner is suitable
Default value is opt::v::auto_cleaner that calls destructor only if it is not trivial.