#include <graph.h>
Inherited by dispenso::BiPropNode.
Public Member Functions | |
Node (const Node &)=delete | |
Node & | operator= (const Node &)=delete |
Node (Node &&other) noexcept | |
template<typename... Ns> | |
void | dependsOn (Ns &... nodes) |
void | run () const |
template<class F > | |
void | forEachDependent (F &&func) const |
template<class F > | |
void | forEachDependent (F &&func) |
size_t | numPredecessors () const |
bool | isCompleted () const |
bool | setIncomplete () const |
void | setCompleted () const |
Protected Member Functions | |
template<class F , class X = std::enable_if_t<!std::is_base_of<Node, F>::value, void>> | |
Node (F &&f) | |
void | dependsOnOneNode (Node &node) |
Protected Attributes | |
std::atomic< size_t > | numIncompletePredecessors_ |
size_t | numPredecessors_ = 0 |
Static Protected Attributes | |
static constexpr size_t | kCompleted = std::numeric_limits<size_t>::max() |
Friends | |
template<class N > | |
class | SubgraphT |
template<typename G > | |
void | setAllNodesIncomplete (const G &graph) |
|
inlineprotected |
apply an func to each dependent of the node This is not concurrency safe.
func | a functor with signature void(Node&) |
apply an func to each dependent of the node
func | a functor with signature void(const Node&) |
|
inline |
Return true if node is completed. New node always incomplete. If node was invoked it become completed. this state can be changed by calling setIncomplete()
Concurrency safe.
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 93 of file graph_executor.cpp.
|
mutableprotected |