MayaFlux 0.4.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< Datum< OutputType > > > MayaFlux::Yantra::ComputeMatrix::execute_parallel_named ( const std::vector< std::string > &  names,
const Datum< 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 std::vector<std::future<std::optional<Datum<OutputType>>>> futures;
228 futures.reserve(names.size());
229
230 for (const auto& name : names) {
231 futures.push_back(execute_named_async<OpClass, InputType, OutputType>(name, input));
232 }
233
234 std::vector<std::optional<Datum<OutputType>>> results;
235 results.reserve(futures.size());
236
237 for (auto& future : futures) {
238 results.push_back(future.get());
239 }
240
241 return results;
242 }