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.
|
inline |
Definition at line 235 of file _flow_graph_item_buffer_impl.h.
|
inlineprotected |
Definition at line 136 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::pop_back().
|
inlineprotected |
Definition at line 54 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::function_input_queue< T, A >::empty().
|
inlineprotected |
Definition at line 155 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::push_back().
|
inlineprotected |
Definition at line 152 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::buffer_full(), and internal::item_buffer< OutputTuple >::grow_my_array().
|
inlineprotected |
Definition at line 214 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::grow_my_array(), internal::item_buffer< OutputTuple >::reset(), and internal::item_buffer< OutputTuple >::~item_buffer().
|
inlineprotected |
Definition at line 147 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::pop_back().
|
inlineprotected |
Definition at line 146 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::reservable_item_buffer< T, A >::consume_front(), internal::function_input_queue< T, A >::pop(), and internal::item_buffer< OutputTuple >::pop_front().
|
inlineprotected |
Definition at line 122 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::clean_up_buffer(), internal::item_buffer< OutputTuple >::destroy_back(), internal::item_buffer< OutputTuple >::destroy_front(), internal::item_buffer< OutputTuple >::fetch_item(), internal::item_buffer< OutputTuple >::move_item(), and internal::item_buffer< OutputTuple >::set_my_item().
|
inlineprotected |
Definition at line 88 of file _flow_graph_item_buffer_impl.h.
|
inlineprotected |
Definition at line 129 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::function_input_queue< T, A >::front(), internal::item_buffer< OutputTuple >::pop_front(), and internal::reservable_item_buffer< T, A >::reserve_front().
|
inlineprotected |
Definition at line 72 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::back(), internal::item_buffer< OutputTuple >::fetch_item(), internal::item_buffer< OutputTuple >::front(), internal::item_buffer< OutputTuple >::grow_my_array(), internal::item_buffer< OutputTuple >::move_item(), and internal::item_buffer< OutputTuple >::swap_items().
|
inlineprotected |
Grows the internal array.
Definition at line 158 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::item_buffer(), internal::item_buffer< OutputTuple >::push_back(), and internal::item_buffer< OutputTuple >::reset().
|
inlineprotected |
Definition at line 56 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::destroy_item(), internal::item_buffer< OutputTuple >::get_my_item(), internal::item_buffer< OutputTuple >::grow_my_array(), internal::item_buffer< OutputTuple >::my_item_reserved(), internal::item_buffer< OutputTuple >::my_item_valid(), internal::item_buffer< OutputTuple >::release_item(), internal::item_buffer< OutputTuple >::reserve_item(), and internal::item_buffer< OutputTuple >::set_my_item().
|
inlineprotected |
Definition at line 62 of file _flow_graph_item_buffer_impl.h.
|
inlineprotected |
Definition at line 97 of file _flow_graph_item_buffer_impl.h.
|
inlineprotected |
Definition at line 69 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::release_item(), and internal::item_buffer< OutputTuple >::reserve_item().
|
inlineprotected |
Definition at line 68 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::back(), internal::item_buffer< OutputTuple >::clean_up_buffer(), internal::item_buffer< OutputTuple >::destroy_item(), internal::item_buffer< OutputTuple >::fetch_item(), internal::item_buffer< OutputTuple >::front(), internal::item_buffer< OutputTuple >::get_my_item(), internal::item_buffer< OutputTuple >::grow_my_array(), internal::item_buffer< OutputTuple >::move_item(), internal::item_buffer< OutputTuple >::place_item(), internal::item_buffer< OutputTuple >::pop_back(), internal::item_buffer< OutputTuple >::pop_front(), internal::reservable_item_buffer< T, A >::reserve_front(), internal::item_buffer< OutputTuple >::reserve_item(), and internal::item_buffer< OutputTuple >::swap_items().
|
inlineprotected |
Definition at line 106 of file _flow_graph_item_buffer_impl.h.
|
inlineprotected |
Definition at line 194 of file _flow_graph_item_buffer_impl.h.
|
inlineprotected |
Definition at line 203 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::function_input_queue< T, A >::pop().
|
inlineprotected |
Definition at line 185 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::function_input_queue< T, A >::push().
|
inlineprotected |
Definition at line 144 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::reservable_item_buffer< T, A >::release_front().
|
inlineprotected |
Definition at line 143 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::reservable_item_buffer< T, A >::reserve_front().
|
inline |
Definition at line 239 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::reservable_item_buffer< T, A >::reset(), internal::function_input_base< Input, Policy, A, multifunction_input< Input, OutputPortSet, Policy, A > >::reset_function_input_base(), and internal::queueing_port< T >::reset_receiver().
|
inlineprotected |
Definition at line 79 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::move_item(), internal::item_buffer< OutputTuple >::place_item(), internal::item_buffer< OutputTuple >::push_back(), and internal::item_buffer< OutputTuple >::swap_items().
|
inlineprotected |
Definition at line 151 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::buffer_full(), and internal::item_buffer< OutputTuple >::push_back().
|
inlineprotected |
Definition at line 115 of file _flow_graph_item_buffer_impl.h.
|
staticprotected |
Definition at line 50 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::grow_my_array(), internal::item_buffer< OutputTuple >::item_buffer(), and internal::item_buffer< OutputTuple >::reset().
|
protected |
Definition at line 48 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::clean_up_buffer(), internal::item_buffer< OutputTuple >::grow_my_array(), and internal::item_buffer< OutputTuple >::item().
|
protected |
|
protected |
Definition at line 51 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::buffer_empty(), internal::item_buffer< OutputTuple >::clean_up_buffer(), internal::item_buffer< OutputTuple >::destroy_front(), internal::item_buffer< OutputTuple >::front(), internal::item_buffer< OutputTuple >::grow_my_array(), internal::item_buffer< OutputTuple >::my_item_valid(), internal::item_buffer< OutputTuple >::pop_front(), internal::reservable_item_buffer< T, A >::release_front(), internal::reservable_item_buffer< T, A >::reserve_front(), and internal::item_buffer< OutputTuple >::size().
|
protected |
Definition at line 52 of file _flow_graph_item_buffer_impl.h.
Referenced by internal::item_buffer< OutputTuple >::back(), internal::item_buffer< OutputTuple >::buffer_empty(), internal::item_buffer< OutputTuple >::clean_up_buffer(), internal::item_buffer< OutputTuple >::destroy_back(), internal::item_buffer< OutputTuple >::grow_my_array(), internal::item_buffer< OutputTuple >::my_item_valid(), internal::item_buffer< OutputTuple >::pop_back(), internal::item_buffer< OutputTuple >::push_back(), and internal::item_buffer< OutputTuple >::size().