The ThreadHint parameter can be used to request, but not guarantee, that a task executes on a particular thread.
The value passed should be the integer index in range [0..ThreadCount) of the thread in that executor.
You can retrieve the current thread index using tmc::current_thread_index().
tmc::post_bulk()#
-
template<typename E, typename Iter, typename TaskOrFunc = std::iter_value_t<Iter>>
void tmc::post_bulk(E &&Executor, Iter &&Begin, size_t Count, size_t Priority = 0, size_t ThreadHint = NO_HINT)# Itermust be an iterator type that implementsoperator*()andIter& operator++(). The type of the items inItermust betask<void>or a type implementingvoid operator().Submits items in range [Begin, Begin + Count) to the executor at priority
Priority.
-
template<typename E, typename Iter, typename TaskOrFunc = std::iter_value_t<Iter>>
void tmc::post_bulk(E &&Executor, Iter &&Begin, Iter &&End, size_t Priority = 0, size_t ThreadHint = NO_HINT)# Itermust be an iterator type that implementsoperator*()andIter& operator++(). The type of the items inItermust betask<void>or a type implementingvoid operator().Submits items in range [Begin, End) to the executor at priority
Priority.
-
template<typename E, typename WorkItemRange, typename Iter = tmc::detail::range_iter<WorkItemRange>::type, typename TaskOrFunc = std::iter_value_t<Iter>>
void tmc::post_bulk(E &&Executor, WorkItemRange &&Range, size_t Priority = 0, size_t ThreadHint = NO_HINT)# WorkItemRangemust implementbegin()andend()functions which return an iterator type. The iterator type must implementoperator*()andIter& operator++(). The type of the items inItermust betask<void>or a type implementingvoid operator().Submits items in range [Range.begin(), Range.end()) to the executor at priority
Priority.