template<class Mode>
struct tbb::interface9::internal::dynamic_grainsize_mode< Mode >
Determine work-balance phase implementing splitting & stealing actions
Definition at line 364 of file partitioner.h.
template<class Mode >
template<typename StartType , typename Range >
Definition at line 421 of file partitioner.h.
422 if( !range.is_divisible() || !
self().max_depth() ) {
423 start.run_body( range );
426 internal::range_vector<Range, range_pool_size> range_pool(range);
428 range_pool.split_to_fill(
self().
max_depth());
430 if( range_pool.size() > 1 ) {
431 start.offer_work( range_pool.front(), range_pool.front_depth() );
432 range_pool.pop_front();
435 if( range_pool.is_divisible(
self().max_depth()) )
438 start.run_body( range_pool.back() );
439 range_pool.pop_back();
440 }
while( !range_pool.empty() && !start.is_cancelled() );
bool check_for_demand(task &t)
References tbb::interface9::internal::range_vector< T, MaxCapacity >::back(), 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 >::is_divisible(), 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().