joque
task orchestration library
exec.hpp
Go to the documentation of this file.
1 #pragma once
23 
24 #include "dag.hpp"
25 #include "exec_coro.hpp"
26 #include "exec_visitor.hpp"
27 #include "print_exec_visitor.hpp"
28 #include "task.hpp"
29 
30 #include <string>
31 #include <thread>
32 
33 namespace joque
34 {
35 
60 [[nodiscard]] exec_coro exec(
61  const task_set& ts,
62  unsigned thread_count = std::thread::hardware_concurrency(),
63  const std::string& filter = "",
64  exec_visitor& vis = PRINT_VISITOR );
65 
69 [[nodiscard]] exec_coro exec(
70  dag g,
71  unsigned thread_count = std::thread::hardware_concurrency(),
72  exec_visitor& vis = PRINT_VISITOR );
73 
74 } // namespace joque
Definition: dag.hpp:172
Coroutine representing one execution of entire task set.
Definition: exec_coro.hpp:36
Execution visitor interface, used by execution.
Definition: exec_visitor.hpp:33
MIT License.
Definition: dag.hpp:27
print_exec_visitor PRINT_VISITOR
Global instance of print visitor used as default argument for exec
Definition: print_exec_visitor.hpp:69
exec_coro exec(const task_set &ts, unsigned thread_count=std::thread::hardware_concurrency(), const std::string &filter="", exec_visitor &vis=PRINT_VISITOR)
Runs execution of tasks within one taskset.
A set of tasks that contains either tasks or another sets.
Definition: task.hpp:81