Execute multiple named operations in parallel.
226 {
227
228 std::vector<std::future<std::optional<IO<OutputType>>>> futures;
229 futures.reserve(names.size());
230
231 for (const auto& name : names) {
232 futures.push_back(execute_named_async<OpClass, InputType, OutputType>(name, input));
233 }
234
235 std::vector<std::optional<IO<OutputType>>> results;
236 results.reserve(futures.size());
237
238 for (auto& future : futures) {
239 results.push_back(future.get());
240 }
241
242 return results;
243 }