21 #ifndef __TBB__flow_graph_item_buffer_impl_H 22 #define __TBB__flow_graph_item_buffer_impl_H 24 #ifndef __TBB_flow_graph_H 25 #error Do not #include this internal file directly; use public TBB headers instead. 43 template <
typename T,
typename A=cache_aligned_allocator<T> >
112 #if !TBB_DEPRECATED_SEQUENCER_DUPLICATES 178 char *new_space = (
char *)&(new_array[i&(
new_size-1)].
first);
251 template<
typename T,
typename A=cache_aligned_allocator<T> >
288 #endif // __TBB__flow_graph_item_buffer_impl_H buffer_item_type * my_array
void set_my_item(size_t i, const item_type &o)
#define __TBB_ASSERT(predicate, comment)
No-op version of __TBB_ASSERT.
void swap_items(size_t i, size_t j)
auto first(Container &c) -> decltype(begin(c))
bool my_item_valid(size_type i) const
void reserve_item(size_type i)
const buffer_item_type & item(size_type i) const
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int void size_t ITT_FORMAT d void ITT_FORMAT p void ITT_FORMAT p __itt_model_site __itt_model_site_instance ITT_FORMAT p __itt_model_task __itt_model_task_instance ITT_FORMAT p void ITT_FORMAT p void ITT_FORMAT p void size_t ITT_FORMAT d void ITT_FORMAT p const wchar_t ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s const char ITT_FORMAT s no args void ITT_FORMAT p size_t ITT_FORMAT d no args const wchar_t const wchar_t ITT_FORMAT s __itt_heap_function void size_t int ITT_FORMAT d __itt_heap_function void ITT_FORMAT p __itt_heap_function void void size_t new_size
bool place_item(size_t here, const item_type &me)
void release_item(size_type i)
void destroy_item(size_type i)
A::template rebind< buffer_item_type >::other allocator_type
void clean_up_buffer(bool reset_pointers)
item_buffer()
Constructor.
void move_item(size_t to, size_t from)
size_type size(size_t new_tail=0)
aligned_pair< item_type, buffer_item_state >::type buffer_item_type
const item_type & get_my_item(size_t i) const
const item_type & back() const
const item_type & front() const
void grow_my_array(size_t minimum_size)
Grows the internal array.
bool my_item_reserved(size_type i) const
static const size_type initial_buffer_size
bool pop_back(item_type &v)
item_buffer with reservable front-end. NOTE: if reserving, do not
bool push_back(item_type &v)
type mimicking std::pair but with trailing fill to ensure each element of an array
void fetch_item(size_t i, item_type &o)
buffer_item_type & item(size_type i)
bool pop_front(item_type &v)
bool buffer_empty() const