MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ execute_parallel_named()

template<typename OpClass , ComputeData InputType, ComputeData OutputType = InputType>
std::vector< std::optional< IO< OutputType > > > MayaFlux::Yantra::ComputeMatrix::execute_parallel_named ( const std::vector< std::string > &  names,
const InputType &  input 
)
inline

Execute multiple named operations in parallel.

Template Parameters
OpClassBase operation class
InputTypeInput data type
OutputTypeOutput data type
Parameters
namesVector of operation names
inputInput data
Returns
Vector of results

Definition at line 223 of file ComputeMatrix.hpp.

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 }