46 template <
typename algorithm_t,
typename algorithm_input_t,
typename callback_t>
48 requires std::invocable<algorithm_t, algorithm_input_t, callback_t>
50 void execute(algorithm_t && algorithm, algorithm_input_t && input, callback_t && callback)
52 algorithm(std::forward<algorithm_input_t>(input), std::forward<callback_t>(callback));
69 template <std::copy_constructible algorithm_t,
70 std::ranges::input_range algorithm_input_range_t,
71 std::copy_constructible callback_t>
73 requires std::invocable<algorithm_t, std::ranges::range_reference_t<algorithm_input_range_t>, callback_t>
75 void bulk_execute(algorithm_t && algorithm, algorithm_input_range_t && input_range, callback_t && callback)
77 for (
auto && input : input_range)
The <concepts> header from C++20's standard library.
The internal SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
The <ranges> header from C++20's standard library.
Handles the sequential execution of algorithms.
Definition: execution_handler_sequential.hpp:34
void wait() noexcept
Waits for the submitted jobs to finish (noop).
Definition: execution_handler_sequential.hpp:84
void bulk_execute(algorithm_t &&algorithm, algorithm_input_range_t &&input_range, callback_t &&callback)
Sequentially executes the algorithm for every element of the given input range.
Definition: execution_handler_sequential.hpp:75
void execute(algorithm_t &&algorithm, algorithm_input_t &&input, callback_t &&callback)
Executes the algorithm with the given input and callback.
Definition: execution_handler_sequential.hpp:50