#include <graph.h>
Inherited by dispenso::BiPropNode.
|
template<class F , class X = std::enable_if_t<!std::is_base_of<Node, F>::value, void>> |
| Node (F &&f) |
|
void | dependsOnOneNode (Node &node) |
|
|
static constexpr size_t | kCompleted = std::numeric_limits<size_t>::max() |
|
Class to store task with dependencies
Definition at line 221 of file graph.h.
◆ Node() [1/2]
dispenso::Node::Node |
( |
Node && | other | ) |
|
|
inlinenoexcept |
◆ ~Node()
dispenso::Node::~Node |
( |
| ) |
|
|
inline |
◆ Node() [2/2]
template<class F , class X = std::enable_if_t<!std::is_base_of<Node, F>::value, void>>
dispenso::Node::Node |
( |
F && | f | ) |
|
|
inlineprotected |
◆ dependsOn()
template<typename... Ns>
void dispenso::Node::dependsOn |
( |
Ns &... | nodes | ) |
|
|
inline |
Make this node depends on nodes. This is not concurrency safe.
- Parameters
-
nodes | predecessors of the node |
Definition at line 246 of file graph.h.
◆ dependsOnOneNode()
void dispenso::Node::dependsOnOneNode |
( |
Node & | node | ) |
|
|
inlineprotected |
◆ forEachDependent() [1/2]
template<class F >
void dispenso::Node::forEachDependent |
( |
F && | func | ) |
|
|
inline |
apply an func to each dependent of the node This is not concurrency safe.
- Parameters
-
func | a functor with signature void(Node&) |
Definition at line 274 of file graph.h.
◆ forEachDependent() [2/2]
template<class F >
void dispenso::Node::forEachDependent |
( |
F && | func | ) |
const |
|
inline |
apply an func to each dependent of the node
- Parameters
-
func | a functor with signature void(const Node&) |
Definition at line 263 of file graph.h.
◆ isCompleted()
bool dispenso::Node::isCompleted |
( |
| ) |
const |
|
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.
Definition at line 291 of file graph.h.
◆ numPredecessors()
size_t dispenso::Node::numPredecessors |
( |
| ) |
const |
|
inline |
Return the number of nodes this node depends on. Concurrency safe.
Definition at line 282 of file graph.h.
◆ run()
void dispenso::Node::run |
( |
| ) |
const |
|
inline |
Invoke the type-erased functor. Change competed state of the node to "Incomplete". Concurrency safe.
Definition at line 253 of file graph.h.
◆ setCompleted()
void dispenso::Node::setCompleted |
( |
| ) |
const |
|
inline |
Mark node completed. Concurrency safe. This methods should never be called concurrent to when the graph execution is happening
Definition at line 314 of file graph.h.
◆ setIncomplete()
bool dispenso::Node::setIncomplete |
( |
| ) |
const |
|
inline |
Mark node incomplete. (that allows reevaluate this node again). Concurrency safe. This methods should never be called concurrent to when the graph execution is happening
- Returns
- true if state was changed.
Definition at line 301 of file graph.h.
◆ setAllNodesIncomplete
template<typename G >
void setAllNodesIncomplete |
( |
const G & | graph | ) |
|
|
friend |
◆ SubgraphT
◆ kCompleted
size_t dispenso::Node::kCompleted = std::numeric_limits<size_t>::max() |
|
staticconstexprprotected |
◆ numIncompletePredecessors_
std::atomic<size_t> dispenso::Node::numIncompletePredecessors_ |
|
mutableprotected |
◆ numPredecessors_
size_t dispenso::Node::numPredecessors_ = 0 |
|
protected |
The documentation for this class was generated from the following file: