#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
- Examples
- graph_example.cpp.
Definition at line 227 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 |
- Examples
- graph_example.cpp.
Definition at line 252 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 280 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 269 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 297 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 288 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 259 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 320 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.
- Examples
- graph_example.cpp.
Definition at line 307 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: