Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | Related Pages

tbb::internal::concurrent_queue_base_v3 Class Reference

For internal use only. More...

#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:

[legend]
List of all members.

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 pageallocate_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

Detailed Description

For internal use only.

Type-independent portion of concurrent_queue.


Member Function Documentation

bool tbb::internal::concurrent_queue_base_v3::internal_pop_if_present void *  dst  )  [protected]
 

Attempt to dequeue item from queue.

NULL if there was no item to dequeue.


The documentation for this class was generated from the following file:

Copyright © 2005-2008 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.