MCPcopy Create free account
hub / github.com/bshoshany/thread-pool / submit_blocks

Function submit_blocks

include/BS_thread_pool.hpp:1835–1838  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1833 */
1834 template <typename T1, typename T2, typename T = common_index_type_t<T1, T2>, typename F, typename R = std::invoke_result_t<std::decay_t<F>, T, T>>
1835 [[nodiscard]] multi_future<R> submit_blocks(const T1 first_index, const T2 index_after_last, F&& block, const std::size_t num_blocks = 0, const priority_t priority = 0)
1836 {
1837 return enqueue_blocks<T, F, R, true>(static_cast<T>(first_index), static_cast<T>(index_after_last), std::forward<F>(block), num_blocks, priority);
1838 }
1839
1840 /**
1841 * @brief Submit an iterator range containing functions with no arguments into the task queue, with the specified priority. To submit functions with arguments, enclose them in lambda expressions. If the functions have return values, get a `BS::multi_future` for the eventual returned values. If the functions have no return values, get a `BS::multi_future<void>` which can be used to wait until all the tasks finish.

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected