Go to the source code of this file.
Classes | |
struct | dispenso::ForEachOptions |
Functions | |
template<typename TaskSetT , typename Iter , typename F > | |
void | dispenso::for_each_n (TaskSetT &tasks, Iter start, size_t n, F &&f, ForEachOptions options={}) |
template<typename Iter , typename F > | |
void | dispenso::for_each_n (Iter start, size_t n, F &&f, ForEachOptions options={}) |
template<typename TaskSetT , typename Iter , typename F > | |
void | dispenso::for_each (TaskSetT &tasks, Iter start, Iter end, F &&f, ForEachOptions options={}) |
template<typename Iter , typename F > | |
void | dispenso::for_each (Iter start, Iter end, F &&f, ForEachOptions options={}) |
Functions for performing parallel for_each over iterables. This intends to more-or-less mimic std::for_each, with a possible (Concurrent)TaskSet passed in for external wait capability, and ForEachOptions for controlling the wait behavior and limiting of parallelism.
Definition in file for_each.h.
void dispenso::for_each | ( | Iter | start, |
Iter | end, | ||
F && | f, | ||
ForEachOptions | options = {} |
||
) |
A function like std::for_each, but where the function is invoked in parallel across the passed range.
start | The iterator for the start of the range. |
end | The iterator for the end of the range. |
f | The function to execute in parallel. This is a unary function that must be capable of taking dereference of Iter. |
options | See ForEachOptions for details; however it should be noted that this function must always wait, and therefore options.wait is ignored. |
Definition at line 180 of file for_each.h.
void dispenso::for_each | ( | TaskSetT & | tasks, |
Iter | start, | ||
Iter | end, | ||
F && | f, | ||
ForEachOptions | options = {} |
||
) |
A function like std::for_each, but where the function is invoked in parallel across the passed range.
tasks | The task set to schedule the for_each on. |
start | The iterator for the start of the range. |
end | The iterator for the end of the range. |
f | The function to execute in parallel. This is a unary function that must be capable of taking dereference of Iter. |
options | See ForEachOptions for details. |
Definition at line 164 of file for_each.h.
void dispenso::for_each_n | ( | Iter | start, |
size_t | n, | ||
F && | f, | ||
ForEachOptions | options = {} |
||
) |
A function like std::for_each_n, but where the function is invoked in parallel across the passed range.
start | The iterator for the start of the range. |
n | The length of the range. |
f | The function to execute in parallel. This is a unary function that must be capable of taking dereference of Iter. |
options | See ForEachOptions for details; however it should be noted that this function must always wait, and therefore options.wait is ignored. |
Definition at line 146 of file for_each.h.
void dispenso::for_each_n | ( | TaskSetT & | tasks, |
Iter | start, | ||
size_t | n, | ||
F && | f, | ||
ForEachOptions | options = {} |
||
) |
A function like std::for_each_n, but where the function is invoked in parallel across the passed range.
tasks | The task set to schedule the for_each on. |
start | The iterator for the start of the range. |
n | The length of the range. |
f | The function to execute in parallel. This is a unary function that must be capable of taking dereference of Iter. |
options | See ForEachOptions for details. |
Definition at line 57 of file for_each.h.