tbb::strict_ppl::internal::concurrent_queue_rep_base Struct Reference

parts of concurrent_queue_rep that do not have references to micro_queue More...

`#include <_concurrent_queue_impl.h>`

Inheritance diagram for tbb::strict_ppl::internal::concurrent_queue_rep_base:
Collaboration diagram for tbb::strict_ppl::internal::concurrent_queue_rep_base:

## Classes

struct | page
| Prefix on a page. More...

## Public Attributes

atomic< ticket > | head_counter
char | pad1 [NFS_MaxLineSize-sizeof(atomic< ticket >)]
atomic< ticket > | tail_counter
char | pad2 [NFS_MaxLineSize-sizeof(atomic< ticket >)]
size_t | items_per_page
| Always a power of 2. More...
size_t | item_size
| Size of an item. More...
atomic< size_t > | n_invalid_entries
| number of invalid entries in the queue More...
char | pad3 [NFS_MaxLineSize-sizeof(size_t) -sizeof(size_t) -sizeof(atomic< size_t >)]

## Static Public Attributes

static const size_t | n_queue = 8

## Static Protected Attributes

static const size_t | phi = 3
| Approximately n_queue/golden ratio. More...

## Friends

template<typename T >
class | micro_queue
template<typename T >
class | concurrent_queue_base_v3

## Additional Inherited Members

Public Member Functions inherited from tbb::internal::no_copy
| no_copy (const no_copy &)=delete
| no_copy ()=default

## Detailed Description

parts of concurrent_queue_rep that do not have references to micro_queue

For internal use only.

Definition at line 67 of file _concurrent_queue_impl.h.

## Friends And Related Function Documentation

## concurrent_queue_base_v3

template<typename T >

friend class concurrent_queue_base_v3

friend

Definition at line 69 of file _concurrent_queue_impl.h.

## micro_queue

template<typename T >

friend class micro_queue

friend

Definition at line 68 of file _concurrent_queue_impl.h.

## Member Data Documentation

## head_counter

atomic<ticket> tbb::strict_ppl::internal::concurrent_queue_rep_base::head_counter

Definition at line 85 of file _concurrent_queue_impl.h.

Referenced by tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::assign(), tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::internal_empty(), tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::internal_size(), and tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::internal_try_pop().

## item_size

size_t tbb::strict_ppl::internal::concurrent_queue_rep_base::item_size

Size of an item.

Definition at line 94 of file _concurrent_queue_impl.h.

## items_per_page

size_t tbb::strict_ppl::internal::concurrent_queue_rep_base::items_per_page

Always a power of 2.

Definition at line 91 of file _concurrent_queue_impl.h.

Referenced by tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::allocate_page(), tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::assign(), tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::deallocate_page(), and tbb::strict_ppl::internal::concurrent_queue_iterator_rep< T >::get_item().

## n_invalid_entries

atomic<size_t> tbb::strict_ppl::internal::concurrent_queue_rep_base::n_invalid_entries

number of invalid entries in the queue

Definition at line 97 of file _concurrent_queue_impl.h.

Referenced by tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::assign(), tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::internal_empty(), tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::internal_size(), and tbb::strict_ppl::internal::micro_queue< T >::spin_wait_until_my_turn().

## n_queue

const size_t tbb::strict_ppl::internal::concurrent_queue_rep_base::n_queue = 8

static

Definition at line 77 of file _concurrent_queue_impl.h.

Referenced by tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::assign(), tbb::strict_ppl::internal::micro_queue< T >::assign(), tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::internal_finish_clear(), tbb::strict_ppl::internal::micro_queue< T >::invalidate_page_and_rethrow(), tbb::strict_ppl::internal::micro_queue< T >::pop(), tbb::strict_ppl::internal::micro_queue< T >::push(), and tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::~concurrent_queue_base_v3().

## pad1

char tbb::strict_ppl::internal::concurrent_queue_rep_base::pad1[NFS_MaxLineSize-sizeof(atomic< ticket >)]

Definition at line 86 of file _concurrent_queue_impl.h.

## pad2

char tbb::strict_ppl::internal::concurrent_queue_rep_base::pad2[NFS_MaxLineSize-sizeof(atomic< ticket >)]

Definition at line 88 of file _concurrent_queue_impl.h.

## pad3

char tbb::strict_ppl::internal::concurrent_queue_rep_base::pad3[NFS_MaxLineSize-sizeof(size_t) -sizeof(size_t) -sizeof(atomic< size_t >)]

Definition at line 99 of file _concurrent_queue_impl.h.

## phi

const size_t tbb::strict_ppl::internal::concurrent_queue_rep_base::phi = 3

static protected

Approximately n_queue/golden ratio.

Definition at line 73 of file _concurrent_queue_impl.h.

## tail_counter

atomic<ticket> tbb::strict_ppl::internal::concurrent_queue_rep_base::tail_counter

Definition at line 87 of file _concurrent_queue_impl.h.

Referenced by tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::assign(), tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::internal_empty(), tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::internal_push(), tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::internal_size(), and tbb::strict_ppl::internal::concurrent_queue_base_v3< T >::internal_try_pop().

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

- _concurrent_queue_impl.h

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.