
#ifndef PLS_PARALLEL_INVOKE_H
#define PLS_PARALLEL_INVOKE_H

#include "pls/internal/scheduling/task.h"
#include "pls/internal/scheduling/scheduler.h"

namespace pls {
namespace algorithm {

template<typename Function1, typename Function2>
void invoke(const Function1 &function1, const Function2 &function2);

template<typename Function1, typename Function2, typename Function3>
void invoke(const Function1 &function1, const Function2 &function2, const Function3 &function3);

// ...and so on, add more if we decide to keep this design

}
}
#include "invoke_impl.h"

#endif //PLS_PARALLEL_INVOKE_H
