Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
#include <_flow_graph_item_buffer_impl.h>
Public Types | |
enum | buffer_item_state { no_item =0 , has_item =1 , reserved_item =2 } |
typedef T | item_type |
Public Member Functions | |
item_buffer () | |
Constructor. More... | |
~item_buffer () | |
void | reset () |
Protected Types | |
typedef size_t | size_type |
typedef aligned_pair< item_type, buffer_item_state >::type | buffer_item_type |
typedef tbb::internal::allocator_rebind< A, buffer_item_type >::type | allocator_type |
Protected Member Functions | |
bool | buffer_empty () const |
buffer_item_type & | item (size_type i) |
const buffer_item_type & | item (size_type i) const |
bool | my_item_valid (size_type i) const |
bool | my_item_reserved (size_type i) const |
const item_type & | get_my_item (size_t i) const |
void | set_my_item (size_t i, const item_type &o) |
void | fetch_item (size_t i, item_type &o) |
void | move_item (size_t to, size_t from) |
bool | place_item (size_t here, const item_type &me) |
void | swap_items (size_t i, size_t j) |
void | destroy_item (size_type i) |
const item_type & | front () const |
const item_type & | back () const |
void | reserve_item (size_type i) |
void | release_item (size_type i) |
void | destroy_front () |
void | destroy_back () |
size_type | size (size_t new_tail=0) |
size_type | capacity () |
bool | buffer_full () |
void | grow_my_array (size_t minimum_size) |
Grows the internal array. More... | |
bool | push_back (item_type &v) |
bool | pop_back (item_type &v) |
bool | pop_front (item_type &v) |
void | clean_up_buffer (bool reset_pointers) |
Protected Attributes | |
buffer_item_type * | my_array |
size_type | my_array_size |
size_type | my_head |
size_type | my_tail |
Static Protected Attributes | |
static const size_type | initial_buffer_size = 4 |
Definition at line 40 of file _flow_graph_item_buffer_impl.h.
|
protected |
Definition at line 47 of file _flow_graph_item_buffer_impl.h.
|
protected |
Definition at line 46 of file _flow_graph_item_buffer_impl.h.
typedef T internal::item_buffer< T, A >::item_type |
Definition at line 42 of file _flow_graph_item_buffer_impl.h.
|
protected |
Definition at line 45 of file _flow_graph_item_buffer_impl.h.
enum internal::item_buffer::buffer_item_state |
Enumerator | |
---|---|
no_item | |
has_item | |
reserved_item |
Definition at line 43 of file _flow_graph_item_buffer_impl.h.
|
inline |
Constructor.
Definition at line 230 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::grow_my_array(), and internal::item_buffer< T, A >::initial_buffer_size.
|
inline |
Definition at line 235 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::clean_up_buffer().
|
inlineprotected |
Definition at line 136 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, internal::item_buffer< T, A >::get_my_item(), internal::item_buffer< T, A >::my_item_valid(), and internal::item_buffer< T, A >::my_tail.
Referenced by internal::item_buffer< T, A >::pop_back().
|
inlineprotected |
Definition at line 54 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::my_head, and internal::item_buffer< T, A >::my_tail.
Referenced by internal::queueing_port< T >::handle_operations().
|
inlineprotected |
Definition at line 155 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::capacity(), and internal::item_buffer< T, A >::size().
Referenced by internal::item_buffer< T, A >::push_back().
|
inlineprotected |
Definition at line 152 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::my_array_size.
Referenced by internal::item_buffer< T, A >::buffer_full(), and internal::item_buffer< T, A >::grow_my_array().
|
inlineprotected |
Definition at line 214 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::destroy_item(), internal::item_buffer< T, A >::my_array, internal::item_buffer< T, A >::my_array_size, internal::item_buffer< T, A >::my_head, internal::item_buffer< T, A >::my_item_valid(), and internal::item_buffer< T, A >::my_tail.
Referenced by internal::item_buffer< T, A >::grow_my_array(), internal::item_buffer< T, A >::reset(), and internal::item_buffer< T, A >::~item_buffer().
|
inlineprotected |
Definition at line 147 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::destroy_item(), and internal::item_buffer< T, A >::my_tail.
Referenced by internal::item_buffer< T, A >::pop_back().
|
inlineprotected |
Definition at line 146 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::destroy_item(), and internal::item_buffer< T, A >::my_head.
Referenced by internal::queueing_port< T >::handle_operations(), and internal::item_buffer< T, A >::pop_front().
|
inlineprotected |
Definition at line 122 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, tbb::internal::first(), internal::item_buffer< T, A >::item(), internal::item_buffer< T, A >::my_item_valid(), internal::item_buffer< T, A >::no_item, and internal::type_plus_align< T1, T2, REM >::second.
Referenced by internal::item_buffer< T, A >::clean_up_buffer(), internal::item_buffer< T, A >::destroy_back(), internal::item_buffer< T, A >::destroy_front(), internal::item_buffer< T, A >::fetch_item(), internal::item_buffer< T, A >::move_item(), and internal::item_buffer< T, A >::set_my_item().
|
inlineprotected |
Definition at line 88 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, internal::item_buffer< T, A >::destroy_item(), internal::item_buffer< T, A >::get_my_item(), and internal::item_buffer< T, A >::my_item_valid().
|
inlineprotected |
Definition at line 129 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, internal::item_buffer< T, A >::get_my_item(), internal::item_buffer< T, A >::my_head, and internal::item_buffer< T, A >::my_item_valid().
Referenced by internal::function_input_queue< T, A >::front(), internal::queueing_port< T >::handle_operations(), and internal::item_buffer< T, A >::pop_front().
|
inlineprotected |
Definition at line 72 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, tbb::internal::first(), internal::item_buffer< T, A >::item(), and internal::item_buffer< T, A >::my_item_valid().
Referenced by internal::item_buffer< T, A >::back(), internal::item_buffer< T, A >::fetch_item(), internal::item_buffer< T, A >::front(), internal::item_buffer< T, A >::grow_my_array(), internal::item_buffer< T, A >::move_item(), and internal::item_buffer< T, A >::swap_items().
|
inlineprotected |
Grows the internal array.
Definition at line 158 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, internal::item_buffer< T, A >::capacity(), internal::item_buffer< T, A >::clean_up_buffer(), internal::type_plus_align< T1, T2, REM >::first, internal::item_buffer< T, A >::get_my_item(), internal::item_buffer< T, A >::initial_buffer_size, internal::item_buffer< T, A >::item(), internal::item_buffer< T, A >::my_array, internal::item_buffer< T, A >::my_array_size, internal::item_buffer< T, A >::my_head, internal::item_buffer< T, A >::my_item_valid(), internal::item_buffer< T, A >::my_tail, new_size, internal::item_buffer< T, A >::no_item, internal::type_plus_align< T1, T2, REM >::second, and void.
Referenced by internal::item_buffer< T, A >::item_buffer(), internal::item_buffer< T, A >::push_back(), and internal::item_buffer< T, A >::reset().
|
inlineprotected |
Definition at line 56 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, tbb::internal::first(), internal::item_buffer< T, A >::my_array, and internal::item_buffer< T, A >::my_array_size.
Referenced by internal::item_buffer< T, A >::destroy_item(), internal::item_buffer< T, A >::get_my_item(), internal::item_buffer< T, A >::grow_my_array(), internal::item_buffer< T, A >::my_item_reserved(), internal::item_buffer< T, A >::my_item_valid(), internal::item_buffer< T, A >::release_item(), internal::item_buffer< T, A >::reserve_item(), and internal::item_buffer< T, A >::set_my_item().
|
inlineprotected |
Definition at line 62 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, tbb::internal::first(), internal::item_buffer< T, A >::my_array, and internal::item_buffer< T, A >::my_array_size.
|
inlineprotected |
Definition at line 97 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, internal::item_buffer< T, A >::destroy_item(), internal::item_buffer< T, A >::get_my_item(), internal::item_buffer< T, A >::my_item_valid(), and internal::item_buffer< T, A >::set_my_item().
|
inlineprotected |
Definition at line 69 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::item(), internal::item_buffer< T, A >::reserved_item, and internal::type_plus_align< T1, T2, REM >::second.
Referenced by internal::item_buffer< T, A >::release_item(), and internal::item_buffer< T, A >::reserve_item().
|
inlineprotected |
Definition at line 68 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::item(), internal::item_buffer< T, A >::my_head, internal::item_buffer< T, A >::my_tail, internal::item_buffer< T, A >::no_item, and internal::type_plus_align< T1, T2, REM >::second.
Referenced by internal::item_buffer< T, A >::back(), internal::item_buffer< T, A >::clean_up_buffer(), internal::item_buffer< T, A >::destroy_item(), internal::item_buffer< T, A >::fetch_item(), internal::item_buffer< T, A >::front(), internal::item_buffer< T, A >::get_my_item(), internal::item_buffer< T, A >::grow_my_array(), internal::queueing_port< T >::handle_operations(), internal::item_buffer< T, A >::move_item(), internal::item_buffer< T, A >::place_item(), internal::item_buffer< T, A >::pop_back(), internal::item_buffer< T, A >::pop_front(), internal::item_buffer< T, A >::reserve_item(), and internal::item_buffer< T, A >::swap_items().
|
inlineprotected |
Definition at line 106 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::my_item_valid(), and internal::item_buffer< T, A >::set_my_item().
|
inlineprotected |
Definition at line 194 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::back(), internal::item_buffer< T, A >::destroy_back(), internal::item_buffer< T, A >::my_item_valid(), and internal::item_buffer< T, A >::my_tail.
|
inlineprotected |
Definition at line 203 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::destroy_front(), internal::item_buffer< T, A >::front(), internal::item_buffer< T, A >::my_head, and internal::item_buffer< T, A >::my_item_valid().
|
inlineprotected |
Definition at line 185 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::buffer_full(), internal::item_buffer< T, A >::grow_my_array(), internal::item_buffer< T, A >::my_tail, internal::item_buffer< T, A >::set_my_item(), and internal::item_buffer< T, A >::size().
Referenced by internal::queueing_port< T >::handle_operations().
|
inlineprotected |
Definition at line 144 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, internal::item_buffer< T, A >::has_item, internal::item_buffer< T, A >::item(), internal::item_buffer< T, A >::my_item_reserved(), and internal::type_plus_align< T1, T2, REM >::second.
|
inlineprotected |
Definition at line 143 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, internal::item_buffer< T, A >::item(), internal::item_buffer< T, A >::my_item_reserved(), internal::item_buffer< T, A >::my_item_valid(), internal::item_buffer< T, A >::reserved_item, and internal::type_plus_align< T1, T2, REM >::second.
|
inline |
Definition at line 239 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::clean_up_buffer(), internal::item_buffer< T, A >::grow_my_array(), and internal::item_buffer< T, A >::initial_buffer_size.
Referenced by internal::reservable_item_buffer< T, A >::reset(), internal::function_input_base< Input, Policy, A, ImplType >::reset_function_input_base(), and internal::queueing_port< T >::reset_receiver().
|
inlineprotected |
Definition at line 79 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::destroy_item(), internal::type_plus_align< T1, T2, REM >::first, internal::item_buffer< T, A >::has_item, internal::item_buffer< T, A >::item(), internal::item_buffer< T, A >::no_item, and internal::type_plus_align< T1, T2, REM >::second.
Referenced by internal::item_buffer< T, A >::move_item(), internal::item_buffer< T, A >::place_item(), internal::item_buffer< T, A >::push_back(), and internal::item_buffer< T, A >::swap_items().
|
inlineprotected |
Definition at line 151 of file _flow_graph_item_buffer_impl.h.
References internal::item_buffer< T, A >::my_head, and internal::item_buffer< T, A >::my_tail.
Referenced by internal::item_buffer< T, A >::buffer_full(), and internal::item_buffer< T, A >::push_back().
|
inlineprotected |
Definition at line 115 of file _flow_graph_item_buffer_impl.h.
References __TBB_ASSERT, internal::item_buffer< T, A >::get_my_item(), internal::item_buffer< T, A >::my_item_valid(), and internal::item_buffer< T, A >::set_my_item().
|
staticprotected |
Definition at line 50 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< T, A >::grow_my_array(), internal::item_buffer< T, A >::item_buffer(), and internal::item_buffer< T, A >::reset().
|
protected |
Definition at line 48 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< T, A >::clean_up_buffer(), internal::item_buffer< T, A >::grow_my_array(), and internal::item_buffer< T, A >::item().
|
protected |
Definition at line 49 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< T, A >::capacity(), internal::item_buffer< T, A >::clean_up_buffer(), internal::item_buffer< T, A >::grow_my_array(), and internal::item_buffer< T, A >::item().
|
protected |
Definition at line 51 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< T, A >::buffer_empty(), internal::item_buffer< T, A >::clean_up_buffer(), internal::item_buffer< T, A >::destroy_front(), internal::item_buffer< T, A >::front(), internal::item_buffer< T, A >::grow_my_array(), internal::queueing_port< T >::handle_operations(), internal::item_buffer< T, A >::my_item_valid(), internal::item_buffer< T, A >::pop_front(), and internal::item_buffer< T, A >::size().
|
protected |
Definition at line 52 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< T, A >::back(), internal::item_buffer< T, A >::buffer_empty(), internal::item_buffer< T, A >::clean_up_buffer(), internal::item_buffer< T, A >::destroy_back(), internal::item_buffer< T, A >::grow_my_array(), internal::item_buffer< T, A >::my_item_valid(), internal::item_buffer< T, A >::pop_back(), internal::item_buffer< T, A >::push_back(), and internal::item_buffer< T, A >::size().