2178 _Index_type _Current_iteration = _Worker_range._M_current_iteration;
2179 _Index_type _Scaled_index = _Current_iteration *
_M_step;
2183 if (_Worker_range._Number_of_iterations() == 1)
2192 structured_task_group _Helper_group;
2202 _Helper_group.run(_Helper_task);
2211 for (_Index_type _I = _Current_iteration; _I < _Worker_range._M_last_iteration; (_I++, _Worker_range._M_current_iteration =_I, _Scaled_index +=
_M_step))
2213 if (_Worker._Is_beacon_signaled())
2219 if (_Worker._Is_done() || _Worker._Verify_beacon_cancellation())
2225 if (_Worker._Is_helper_registered())
2230 if (_Worker._Send_range(&_Worker_range))
2236 new(_Helper_subtask) task_handle<_Parallel_chunk_helper>
2241 _Helper_group.run(*_Helper_subtask);
2246 _Worker._Enable_intrusive_steal(&_Worker_range);
2252 _Worker._Disable_intrusive_steal();
2256 _Worker._Set_done();
2259 _Helper_group.wait();
2263 _Worker._Set_tree_done();
Definition: concrt.h:1123
static void __cdecl _Invoke(const _Random_iterator &_First, _Index_type &_Index, const _Function &_Func)
Definition: ppl.h:1788
_Parallel_chunk_helper(_Index_type, const _Random_iterator &_First, _Index_type _First_iteration, _Index_type _Last_iteration, const _Index_type &_Step, const _Function &_Func, const _Partitioner &, _Worker_proxy< _Index_type > *const _Parent_data=NULL)
Definition: ppl.h:2141
const _Function & _M_function
Definition: ppl.h:2270
#define NULL
Definition: crtdbg.h:30
#define _malloca(size)
Definition: malloc.h:228
size_t _GetAllocationSize() const
Definition: concrt.h:1127
const _Index_type _M_last_iteration
Definition: ppl.h:2273
_ElemType * _AddRawMallocaNode(void *_MallocaRet)
Definition: concrt.h:1147
_Worker_proxy< _Index_type > *const _M_parent_worker
Definition: ppl.h:2275
const _Index_type _M_first_iteration
Definition: ppl.h:2272
const _Random_iterator & _M_first
Definition: ppl.h:2268
const _Index_type & _M_step
Definition: ppl.h:2269