| 
    Intel(R) Threading Building Blocks Doxygen Documentation
    version 4.2.3
    
   | 
 
A queue using simple locking. More...
#include <_concurrent_queue_impl.h>
Classes | |
| class | destroyer | 
| Class used to ensure exception-safety of method "pop".  More... | |
| struct | padded_page | 
Public Types | |
| typedef void(* | item_constructor_t) (T *location, const void *src) | 
Public Member Functions | |
| void | push (const void *item, ticket k, concurrent_queue_base_v3< T > &base, item_constructor_t construct_item) | 
| bool | pop (void *dst, ticket k, concurrent_queue_base_v3< T > &base) | 
| micro_queue & | assign (const micro_queue &src, concurrent_queue_base_v3< T > &base, item_constructor_t construct_item) | 
| page * | make_copy (concurrent_queue_base_v3< T > &base, const page *src_page, size_t begin_in_page, size_t end_in_page, ticket &g_index, item_constructor_t construct_item) | 
| void | invalidate_page_and_rethrow (ticket k) | 
Static Public Member Functions | |
| static T & | get_ref (page &p, size_t index) | 
Public Attributes | |
| atomic< page * > | head_page | 
| atomic< ticket > | head_counter | 
| atomic< page * > | tail_page | 
| atomic< ticket > | tail_counter | 
| spin_mutex | page_mutex | 
Private Types | |
| typedef concurrent_queue_rep_base::page | page | 
Private Member Functions | |
| void | copy_item (page &dst, size_t dindex, const void *src, item_constructor_t construct_item) | 
| void | copy_item (page &dst, size_t dindex, const page &src, size_t sindex, item_constructor_t construct_item) | 
| void | assign_and_destroy_item (void *dst, page &src, size_t index) | 
| void | spin_wait_until_my_turn (atomic< ticket > &counter, ticket k, concurrent_queue_rep_base &rb) const | 
  Private Member Functions inherited from tbb::internal::no_copy | |
| no_copy (const no_copy &)=delete | |
| no_copy ()=default | |
Friends | |
| class | micro_queue_pop_finalizer< T > | 
A queue using simple locking.
For efficiency, this class has no constructor. The caller is expected to zero-initialize it.
Definition at line 58 of file _concurrent_queue_impl.h.
| typedef void(* tbb::strict_ppl::internal::micro_queue< T >::item_constructor_t) (T *location, const void *src) | 
Definition at line 133 of file _concurrent_queue_impl.h.
      
  | 
  private | 
Definition at line 135 of file _concurrent_queue_impl.h.
| micro_queue< T > & tbb::strict_ppl::internal::micro_queue< T >::assign | ( | const micro_queue< T > & | src, | 
| concurrent_queue_base_v3< T > & | base, | ||
| item_constructor_t | construct_item | ||
| ) | 
Definition at line 286 of file _concurrent_queue_impl.h.
      
  | 
  inlineprivate | 
Definition at line 156 of file _concurrent_queue_impl.h.
      
  | 
  inlineprivate | 
Definition at line 145 of file _concurrent_queue_impl.h.
      
  | 
  inlineprivate | 
Definition at line 149 of file _concurrent_queue_impl.h.
      
  | 
  inlinestatic | 
Definition at line 176 of file _concurrent_queue_impl.h.
Referenced by tbb::strict_ppl::internal::concurrent_queue_iterator_rep< Value >::get_item().
| void tbb::strict_ppl::internal::micro_queue< T >::invalidate_page_and_rethrow | ( | ticket | k | ) | 
Definition at line 327 of file _concurrent_queue_impl.h.
| concurrent_queue_rep_base::page * tbb::strict_ppl::internal::micro_queue< T >::make_copy | ( | concurrent_queue_base_v3< T > & | base, | 
| const page * | src_page, | ||
| size_t | begin_in_page, | ||
| size_t | end_in_page, | ||
| ticket & | g_index, | ||
| item_constructor_t | construct_item | ||
| ) | 
Definition at line 344 of file _concurrent_queue_impl.h.
| bool tbb::strict_ppl::internal::micro_queue< T >::pop | ( | void * | dst, | 
| ticket | k, | ||
| concurrent_queue_base_v3< T > & | base | ||
| ) | 
Definition at line 263 of file _concurrent_queue_impl.h.
| void tbb::strict_ppl::internal::micro_queue< T >::push | ( | const void * | item, | 
| ticket | k, | ||
| concurrent_queue_base_v3< T > & | base, | ||
| item_constructor_t | construct_item | ||
| ) | 
Definition at line 215 of file _concurrent_queue_impl.h.
      
  | 
  private | 
Definition at line 203 of file _concurrent_queue_impl.h.
      
  | 
  friend | 
Definition at line 165 of file _concurrent_queue_impl.h.
| atomic<ticket> tbb::strict_ppl::internal::micro_queue< T >::head_counter | 
Definition at line 181 of file _concurrent_queue_impl.h.
Referenced by tbb::strict_ppl::internal::micro_queue< Value >::assign().
| atomic<page*> tbb::strict_ppl::internal::micro_queue< T >::head_page | 
Definition at line 180 of file _concurrent_queue_impl.h.
Referenced by tbb::strict_ppl::internal::micro_queue< Value >::assign().
| spin_mutex tbb::strict_ppl::internal::micro_queue< T >::page_mutex | 
Definition at line 186 of file _concurrent_queue_impl.h.
| atomic<ticket> tbb::strict_ppl::internal::micro_queue< T >::tail_counter | 
Definition at line 184 of file _concurrent_queue_impl.h.
Referenced by tbb::strict_ppl::internal::micro_queue< Value >::assign().
| atomic<page*> tbb::strict_ppl::internal::micro_queue< T >::tail_page | 
Definition at line 183 of file _concurrent_queue_impl.h.
Referenced by tbb::strict_ppl::internal::micro_queue< Value >::assign().