![]() |
hpx::parallel::v1::for_each
// In header: <hpx/parallel/detail/for_each.hpp> template<typename ExPolicy, typename InIter, typename F> unspecified for_each(ExPolicy && policy, InIter first, InIter last, F && f);
Applies f to the result of dereferencing every iterator in the range [first, last).
![]() |
Note |
---|---|
Complexity: Applies f exactly last - first times. |
If f returns a result, the result is ignored.
If the type of first satisfies the requirements of a mutable iterator, f may apply non-constant functions through the dereferenced iterator.
Unlike its sequential form, the parallel overload of for_each does not return a copy of its Function parameter, since parallelization may not permit efficient state accumulation.
The application of function objects in parallel algorithm invoked with an execution policy object of type sequential_execution_policy
execute in sequential order in the calling thread.
The application of function objects in parallel algorithm invoked with an execution policy object of type parallel_execution_policy
or task_execution_policy
are permitted to execute in an unordered fashion in unspecified threads, and indeterminately sequenced within each thread.
Parameters: |
|
||||||||
Template Parameters: |
|
||||||||
Returns: |
The for_each algorithm returns a hpx::future<void> if the execution policy is of type task_execution_policy and returns void otherwise. |