#ifndef PLS_INVOKE_PARALLEL_IMPL_H #define PLS_INVOKE_PARALLEL_IMPL_H #include "pls/internal/scheduling/scheduler.h" namespace pls::algorithm { template void invoke(Function1 &&function1, Function2 &&function2) { using namespace ::pls::internal::scheduling; scheduler::spawn(std::forward(function1)); scheduler::spawn_and_sync(std::forward(function2)); } template void invoke(Function1 &&function1, Function2 &&function2, Function3 &&function3) { using namespace ::pls::internal::scheduling; scheduler::spawn(std::forward(function1)); scheduler::spawn(std::forward(function2)); scheduler::spawn_and_sync(std::forward(function3)); } } #endif //PLS_INVOKE_PARALLEL_IMPL_H