61 template < ekind Kind,
typename Edges >
64 return e | std::views::filter( [](
const dag_edge& e ) {
65 return e->kind == Kind;
69 template <
typename Node,
typename... Args >
70 void add_edge( Node& source, Node& target, Args&&... args )
73 source.out_edges().emplace_front( source, target, std::forward< Args >( args )... );
74 target.in_edges().link_front( e );
MIT License.
Definition: dag.hpp:27
bool started
Sets to true once the task is scheduled for execution.
Definition: dag.hpp:96
const task & t
Reference to the task.
Definition: dag.hpp:90
std::string name
Full path-name of the task.
Definition: dag.hpp:88
void add_edge(Node &source, Node &target, Args &&... args)
Definition: dag.hpp:70
std::string_view to_sv(const ekind &e)
dag_node & source
Definition: dag.hpp:56
dag_node & target
Definition: dag.hpp:57
ekind
Definition: dag.hpp:43
auto filter_edges(Edges &e)
Definition: dag.hpp:62
inval invalidated
Node validation status.
Definition: dag.hpp:93
void insert_set(dag &dag, const task_set &ts, const std::string &filter)
ekind kind
Definition: dag.hpp:58
inval
Definition: dag.hpp:78
bool failed
Sets to fail if the task failed during execution.
Definition: dag.hpp:101
bool done
Sets to done if the task finished it's execution (correctly or incorrectly)
Definition: dag.hpp:99
Single task that should be executed by the system.
Definition: task.hpp:49
A set of tasks that contains either tasks or another sets.
Definition: task.hpp:81