tbb::internal::concurrent_queue_base_v8 Class Referenceabstract
Containers

For internal use only. More...

`#include <_concurrent_queue_impl.h>`

Inheritance diagram for tbb::internal::concurrent_queue_base_v8:
Collaboration diagram for tbb::internal::concurrent_queue_base_v8:

## Protected Member Functions

| concurrent_queue_base_v8 (size_t item_sz)
void __TBB_EXPORTED_METHOD | move_content (concurrent_queue_base_v8 &src)
| move items More...
bool __TBB_EXPORTED_METHOD | internal_push_move_if_not_full (const void *src)
| Attempt to enqueue item onto queue using move operation. More...
void __TBB_EXPORTED_METHOD | internal_push_move (const void *src)
| Enqueue item at tail of queue using move operation. More...
Protected Member Functions inherited from tbb::internal::concurrent_queue_base_v3
__TBB_EXPORTED_METHOD | concurrent_queue_base_v3 (size_t item_size)
virtual __TBB_EXPORTED_METHOD | ~concurrent_queue_base_v3 ()
void __TBB_EXPORTED_METHOD | internal_push (const void *src)
| Enqueue item at tail of queue using copy operation. More...
void __TBB_EXPORTED_METHOD | internal_pop (void *dst)
| Dequeue item from head of queue. More...
void __TBB_EXPORTED_METHOD | internal_abort ()
| Abort all pending queue operations. More...
bool __TBB_EXPORTED_METHOD | internal_push_if_not_full (const void *src)
| Attempt to enqueue item onto queue using copy operation. More...
bool __TBB_EXPORTED_METHOD | internal_pop_if_present (void *dst)
| Attempt to dequeue item from queue. More...
ptrdiff_t __TBB_EXPORTED_METHOD | internal_size () const
| Get size of queue. More...
bool __TBB_EXPORTED_METHOD | internal_empty () const
| Check if the queue is empty. More...
void __TBB_EXPORTED_METHOD | internal_set_capacity (ptrdiff_t capacity, size_t element_size)
| Set the queue capacity. More...
virtual page * | allocate_page ()=0
| custom allocator More...
virtual void | deallocate_page (page *p)=0
| custom de-allocator More...
void __TBB_EXPORTED_METHOD | internal_finish_clear ()
| free any remaining pages More...
void __TBB_EXPORTED_METHOD | internal_throw_exception () const
| throw an exception More...
void __TBB_EXPORTED_METHOD | assign (const concurrent_queue_base_v3 &src)
| copy internal representation More...
void | internal_swap (concurrent_queue_base_v3 &src)
| swap queues More...
void | internal_insert_item (const void *src, copy_specifics op_type)
| Enqueues item at tail of queue using specified operation (copy or move) More...
bool | internal_insert_if_not_full (const void *src, copy_specifics op_type)
| Attempts to enqueue at tail of queue using specified operation (copy or move) More...
void | internal_assign (const concurrent_queue_base_v3 &src, copy_specifics op_type)
| Assigns one queue to another using specified operation (copy or move) More...

## Private Member Functions

virtual void | move_page_item (page &dst, size_t dindex, const page &src, size_t sindex)=0
virtual void | move_item (page &dst, size_t index, const void *src)=0

## Friends

struct | micro_queue

## Additional Inherited Members

Protected Types inherited from tbb::internal::concurrent_queue_base_v3
enum | copy_specifics { copy, move }
Protected Attributes inherited from tbb::internal::concurrent_queue_base_v3
ptrdiff_t | my_capacity
| Capacity of the queue. More...
size_t | items_per_page
| Always a power of 2. More...
size_t | item_size
| Size of an item. More...

## Detailed Description

For internal use only.

Backward compatible modification of concurrent_queue_base_v3

Definition at line 940 of file _concurrent_queue_impl.h.

## Constructor & Destructor Documentation

## concurrent_queue_base_v8()

tbb::internal::concurrent_queue_base_v8::concurrent_queue_base_v8 | ( | size_t | item_sz | ) |

inline protected

Definition at line 942 of file _concurrent_queue_impl.h.

: concurrent_queue_base_v3( item_sz ) {}

## Member Function Documentation

## internal_push_move()

void tbb::internal::concurrent_queue_base_v8::internal_push_move | ( | const void * | src | ) |

protected

Enqueue item at tail of queue using move operation.

Definition at line 367 of file concurrent_queue.cpp.

{
internal_insert_item( src, move );
}

References tbb::internal::concurrent_queue_base_v3::internal_insert_item(), and tbb::internal::concurrent_queue_base_v3::move.

Here is the call graph for this function:

## internal_push_move_if_not_full()

bool tbb::internal::concurrent_queue_base_v8::internal_push_move_if_not_full | ( | const void * | src | ) |

protected

Attempt to enqueue item onto queue using move operation.

Definition at line 495 of file concurrent_queue.cpp.

{
return internal_insert_if_not_full( src, move );
}

References tbb::internal::concurrent_queue_base_v3::internal_insert_if_not_full(), and tbb::internal::concurrent_queue_base_v3::move.

Referenced by tbb::concurrent_bounded_queue< T, A >::try_push().

Here is the call graph for this function:
Here is the caller graph for this function:

## move_content()

void tbb::internal::concurrent_queue_base_v8::move_content | ( | concurrent_queue_base_v8 & | src | ) |

protected

move items

Definition at line 573 of file concurrent_queue.cpp.

{
internal_assign( src, move );
}

References tbb::internal::concurrent_queue_base_v3::internal_assign(), and tbb::internal::concurrent_queue_base_v3::move.

Referenced by tbb::concurrent_bounded_queue< T, A >::concurrent_bounded_queue().

Here is the call graph for this function:
Here is the caller graph for this function:

## move_item()

virtual void tbb::internal::concurrent_queue_base_v8::move_item | ( | page & | dst,
|  | size_t | index,
|  | const void * | src
| ) |  |

private pure virtual

Implemented in tbb::concurrent_bounded_queue< T, A >.

## move_page_item()

virtual void tbb::internal::concurrent_queue_base_v8::move_page_item | ( | page & | dst,
|  | size_t | dindex,
|  | const page & | src,
|  | size_t | sindex
| ) |  |

private pure virtual

Implemented in tbb::concurrent_bounded_queue< T, A >.

## Friends And Related Function Documentation

## micro_queue

friend struct micro_queue

friend

Definition at line 953 of file _concurrent_queue_impl.h.

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

- _concurrent_queue_impl.h
- concurrent_queue.cpp

tbb::internal::concurrent_queue_base_v3::internal_insert_if_not_full
bool internal_insert_if_not_full(const void *src, copy_specifics op_type)
Attempts to enqueue at tail of queue using specified operation (copy or move)
Definition: concurrent_queue.cpp:499
tbb::internal::concurrent_queue_base_v3::internal_insert_item
void internal_insert_item(const void *src, copy_specifics op_type)
Enqueues item at tail of queue using specified operation (copy or move)
Definition: concurrent_queue.cpp:371
tbb::internal::concurrent_queue_base_v3::move
Definition: _concurrent_queue_impl.h:852
tbb::internal::concurrent_queue_base_v3::internal_assign
void internal_assign(const concurrent_queue_base_v3 &src, copy_specifics op_type)
Assigns one queue to another using specified operation (copy or move)
Definition: concurrent_queue.cpp:551
tbb::internal::concurrent_queue_base_v3::concurrent_queue_base_v3
__TBB_EXPORTED_METHOD concurrent_queue_base_v3(size_t item_size)
Definition: concurrent_queue.cpp:337

Copyright © 2005-2020 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.