Intel(R) Threading Building Blocks Doxygen Documentation version 4.2.3
|
Range pool stores ranges of type T in a circular buffer with MaxCapacity. More...
#include <partitioner.h>
Public Member Functions | |
range_vector (const T &elem) | |
initialize via first range in pool More... | |
~range_vector () | |
bool | empty () const |
depth_t | size () const |
void | split_to_fill (depth_t max_depth) |
void | pop_back () |
void | pop_front () |
T & | back () |
T & | front () |
depth_t | front_depth () |
similarly to front(), returns depth of the first range in the pool More... | |
depth_t | back_depth () |
bool | is_divisible (depth_t max_depth) |
Private Attributes | |
depth_t | my_head |
depth_t | my_tail |
depth_t | my_size |
depth_t | my_depth [MaxCapacity] |
tbb::aligned_space< T, MaxCapacity > | my_pool |
Range pool stores ranges of type T in a circular buffer with MaxCapacity.
Definition at line 154 of file partitioner.h.
|
inline |
initialize via first range in pool
Definition at line 163 of file partitioner.h.
References tbb::interface9::internal::range_vector< T, MaxCapacity >::my_depth, and tbb::interface9::internal::range_vector< T, MaxCapacity >::my_pool.
|
inline |
Definition at line 167 of file partitioner.h.
References tbb::interface9::internal::range_vector< T, MaxCapacity >::empty(), and tbb::interface9::internal::range_vector< T, MaxCapacity >::pop_back().
|
inline |
Definition at line 197 of file partitioner.h.
References __TBB_ASSERT, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_head, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_pool, and tbb::interface9::internal::range_vector< T, MaxCapacity >::my_size.
Referenced by tbb::interface9::internal::range_vector< T, MaxCapacity >::is_divisible(), and tbb::interface9::internal::dynamic_grainsize_mode< Mode >::work_balance().
|
inline |
Definition at line 210 of file partitioner.h.
References __TBB_ASSERT, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_depth, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_head, and tbb::interface9::internal::range_vector< T, MaxCapacity >::my_size.
Referenced by tbb::interface9::internal::range_vector< T, MaxCapacity >::is_divisible().
|
inline |
Definition at line 170 of file partitioner.h.
References tbb::interface9::internal::range_vector< T, MaxCapacity >::my_size.
Referenced by tbb::interface9::internal::dynamic_grainsize_mode< Mode >::work_balance(), and tbb::interface9::internal::range_vector< T, MaxCapacity >::~range_vector().
|
inline |
Definition at line 201 of file partitioner.h.
References __TBB_ASSERT, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_pool, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_size, and tbb::interface9::internal::range_vector< T, MaxCapacity >::my_tail.
Referenced by tbb::interface9::internal::dynamic_grainsize_mode< Mode >::work_balance().
|
inline |
similarly to front(), returns depth of the first range in the pool
Definition at line 206 of file partitioner.h.
References __TBB_ASSERT, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_depth, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_size, and tbb::interface9::internal::range_vector< T, MaxCapacity >::my_tail.
Referenced by tbb::interface9::internal::dynamic_grainsize_mode< Mode >::work_balance().
|
inline |
Definition at line 214 of file partitioner.h.
References tbb::interface9::internal::range_vector< T, MaxCapacity >::back(), and tbb::interface9::internal::range_vector< T, MaxCapacity >::back_depth().
Referenced by tbb::interface9::internal::range_vector< T, MaxCapacity >::split_to_fill(), and tbb::interface9::internal::dynamic_grainsize_mode< Mode >::work_balance().
|
inline |
Definition at line 185 of file partitioner.h.
References __TBB_ASSERT, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_head, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_pool, and tbb::interface9::internal::range_vector< T, MaxCapacity >::my_size.
Referenced by tbb::interface9::internal::dynamic_grainsize_mode< Mode >::work_balance(), and tbb::interface9::internal::range_vector< T, MaxCapacity >::~range_vector().
|
inline |
Definition at line 191 of file partitioner.h.
References __TBB_ASSERT, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_pool, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_size, and tbb::interface9::internal::range_vector< T, MaxCapacity >::my_tail.
Referenced by tbb::interface9::internal::dynamic_grainsize_mode< Mode >::work_balance().
|
inline |
Definition at line 171 of file partitioner.h.
References tbb::interface9::internal::range_vector< T, MaxCapacity >::my_size.
Referenced by tbb::interface9::internal::dynamic_grainsize_mode< Mode >::work_balance().
|
inline |
Populates range pool via ranges up to max depth or while divisible max_depth starts from 0, e.g. value 2 makes 3 ranges in the pool up to two 1/4 pieces
Definition at line 174 of file partitioner.h.
References tbb::interface9::internal::range_vector< T, MaxCapacity >::is_divisible(), tbb::interface9::internal::range_vector< T, MaxCapacity >::my_depth, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_head, tbb::interface9::internal::range_vector< T, MaxCapacity >::my_pool, and tbb::interface9::internal::range_vector< T, MaxCapacity >::my_size.
Referenced by tbb::interface9::internal::dynamic_grainsize_mode< Mode >::work_balance().
|
private |
Definition at line 158 of file partitioner.h.
Referenced by tbb::interface9::internal::range_vector< T, MaxCapacity >::back_depth(), tbb::interface9::internal::range_vector< T, MaxCapacity >::front_depth(), tbb::interface9::internal::range_vector< T, MaxCapacity >::range_vector(), and tbb::interface9::internal::range_vector< T, MaxCapacity >::split_to_fill().
|
private |
Definition at line 155 of file partitioner.h.
Referenced by tbb::interface9::internal::range_vector< T, MaxCapacity >::back(), tbb::interface9::internal::range_vector< T, MaxCapacity >::back_depth(), tbb::interface9::internal::range_vector< T, MaxCapacity >::pop_back(), and tbb::interface9::internal::range_vector< T, MaxCapacity >::split_to_fill().
|
private |
Definition at line 159 of file partitioner.h.
Referenced by tbb::interface9::internal::range_vector< T, MaxCapacity >::back(), tbb::interface9::internal::range_vector< T, MaxCapacity >::front(), tbb::interface9::internal::range_vector< T, MaxCapacity >::pop_back(), tbb::interface9::internal::range_vector< T, MaxCapacity >::pop_front(), tbb::interface9::internal::range_vector< T, MaxCapacity >::range_vector(), and tbb::interface9::internal::range_vector< T, MaxCapacity >::split_to_fill().
|
private |
Definition at line 157 of file partitioner.h.
Referenced by tbb::interface9::internal::range_vector< T, MaxCapacity >::back(), tbb::interface9::internal::range_vector< T, MaxCapacity >::back_depth(), tbb::interface9::internal::range_vector< T, MaxCapacity >::empty(), tbb::interface9::internal::range_vector< T, MaxCapacity >::front(), tbb::interface9::internal::range_vector< T, MaxCapacity >::front_depth(), tbb::interface9::internal::range_vector< T, MaxCapacity >::pop_back(), tbb::interface9::internal::range_vector< T, MaxCapacity >::pop_front(), tbb::interface9::internal::range_vector< T, MaxCapacity >::size(), and tbb::interface9::internal::range_vector< T, MaxCapacity >::split_to_fill().
|
private |