Home ⌂Doc Index ◂Up ▴
Intel(R) Threading Building Blocks Doxygen Documentation  version 4.2.3
tbb::flow::interface11::internal::reservable_item_buffer< T, A > Class Template Reference

item_buffer with reservable front-end. NOTE: if reserving, do not More...

#include <flow_graph.h>

Inheritance diagram for tbb::flow::interface11::internal::reservable_item_buffer< T, A >:
Collaboration diagram for tbb::flow::interface11::internal::reservable_item_buffer< T, A >:

Public Member Functions

 reservable_item_buffer ()
 
void reset ()
 
- Public Member Functions inherited from tbb::flow::interface11::internal::item_buffer< T, A >
 item_buffer ()
 Constructor. More...
 
 ~item_buffer ()
 
void reset ()
 

Protected Member Functions

bool reserve_front (T &v)
 
void consume_front ()
 
void release_front ()
 
- Protected Member Functions inherited from tbb::flow::interface11::internal::item_buffer< T, A >
bool buffer_empty () const
 
buffer_item_typeitem (size_type i)
 
const buffer_item_typeitem (size_type i) const
 
bool my_item_valid (size_type i) const
 
bool my_item_reserved (size_type i) const
 
const item_typeget_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_typefront () const
 
const item_typeback () 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

bool my_reserved
 
- Protected Attributes inherited from tbb::flow::interface11::internal::item_buffer< T, A >
buffer_item_typemy_array
 
size_type my_array_size
 
size_type my_head
 
size_type my_tail
 

Additional Inherited Members

- Public Types inherited from tbb::flow::interface11::internal::item_buffer< T, A >
enum  buffer_item_state { no_item =0, has_item =1, reserved_item =2 }
 
typedef T item_type
 
- Protected Types inherited from tbb::flow::interface11::internal::item_buffer< T, A >
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
 
- Static Protected Attributes inherited from tbb::flow::interface11::internal::item_buffer< T, A >
static const size_type initial_buffer_size = 4
 

Detailed Description

template<typename T, typename A = cache_aligned_allocator<T>>
class tbb::flow::interface11::internal::reservable_item_buffer< T, A >

item_buffer with reservable front-end. NOTE: if reserving, do not

Definition at line 248 of file flow_graph.h.

Constructor & Destructor Documentation

◆ reservable_item_buffer()

template<typename T, typename A = cache_aligned_allocator<T>>
tbb::flow::interface11::internal::reservable_item_buffer< T, A >::reservable_item_buffer ( )
inline

Definition at line 254 of file flow_graph.h.

256 {

Member Function Documentation

◆ consume_front()

template<typename T, typename A = cache_aligned_allocator<T>>
void tbb::flow::interface11::internal::reservable_item_buffer< T, A >::consume_front ( )
inlineprotected

Definition at line 267 of file flow_graph.h.

271  {

◆ release_front()

template<typename T, typename A = cache_aligned_allocator<T>>
void tbb::flow::interface11::internal::reservable_item_buffer< T, A >::release_front ( )
inlineprotected

Definition at line 273 of file flow_graph.h.

275  {
276  return static_cast<void*>(&static_cast<async_msg<filtered_type>&>(t));
277  }

◆ reserve_front()

template<typename T, typename A = cache_aligned_allocator<T>>
bool tbb::flow::interface11::internal::reservable_item_buffer< T, A >::reserve_front ( T &  v)
inlineprotected

Definition at line 258 of file flow_graph.h.

264  {
265  typedef T async_type;

◆ reset()

template<typename T, typename A = cache_aligned_allocator<T>>
void tbb::flow::interface11::internal::reservable_item_buffer< T, A >::reset ( )
inline

Definition at line 255 of file flow_graph.h.

256 {

Referenced by tbb::flow::interface11::buffer_node< T, Allocator >::reset_node().

Here is the caller graph for this function:

Member Data Documentation

◆ my_reserved

template<typename T, typename A = cache_aligned_allocator<T>>
bool tbb::flow::interface11::internal::reservable_item_buffer< T, A >::my_reserved
protected

Definition at line 279 of file flow_graph.h.


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

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.