#include <concurrent_queue.h>
Inherits tbb::internal::no_copy.
Inherited by tbb::concurrent_queue< T, A >.
Inheritance diagram for tbb::internal::concurrent_queue_base_v3:
Protected Member Functions | |
concurrent_queue_base_v3 (size_t item_size) | |
void | internal_push (const void *src) |
Enqueue item at tail of queue. | |
void | internal_pop (void *dst) |
Dequeue item from head of queue. | |
bool | internal_push_if_not_full (const void *src) |
Attempt to enqueue item onto queue. | |
bool | internal_pop_if_present (void *dst) |
Attempt to dequeue item from queue. | |
ptrdiff_t | internal_size () const |
Get size of queue. | |
void | internal_set_capacity (ptrdiff_t capacity, size_t element_size) |
set the queue capacity | |
virtual page * | allocate_page ()=0 |
custom allocator | |
virtual void | deallocate_page (page *p)=0 |
custom de-allocator | |
void | internal_finish_clear () |
free any remaining pages | |
void | internal_throw_exception () const |
throw an exception | |
Protected Attributes | |
ptrdiff_t | my_capacity |
Capacity of the queue. | |
size_t | items_per_page |
Always a power of 2. | |
size_t | item_size |
Size of an item. | |
Friends | |
class | concurrent_queue_rep |
struct | micro_queue |
class | micro_queue_pop_finalizer |
class | concurrent_queue_iterator_rep |
class | concurrent_queue_iterator_base_v3 |
Type-independent portion of concurrent_queue.
|
Attempt to dequeue item from queue. NULL if there was no item to dequeue. |