#pragma once //#include "taskflow.hpp" namespace tf { // ---------------------------------------------------------------------------- // class: Topology class Topology { friend class Taskflow; friend class Executor; public: template Topology(Taskflow&, P&&, C&&); private: Taskflow& _taskflow; std::promise _promise; std::vector _sources; std::function _pred; std::function _call; std::atomic _join_counter {0}; }; // Constructor template inline Topology::Topology(Taskflow& tf, P&& p, C&& c): _taskflow(tf), _pred {std::forward

(p)}, _call {std::forward(c)} { } } // end of namespace tf. ----------------------------------------------------