20 namespace seqan3::detail
33 struct execution_handler_sequential
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)
78 execute(algorithm,
std::forward<decltype(input)>(input), callback);