|
msl 1.3.0
|
Container node, prepare and run its children sequentially.
#include <Node.h>
Public Types | |
| using | Pointer = std::shared_ptr<Node> |
| Reference-counted pointer to Node. | |
| using | ConstPointer = std::shared_ptr<Node const> |
| Reference-counted constant pointer to Node. | |
| using | Siblings = std::vector<AbstractNode::Pointer> |
| Child container. | |
| Public Types inherited from msl::graph::AbstractNode | |
| using | Pointer = std::shared_ptr<AbstractNode> |
| Reference-counted pointer to AbstractNode. | |
| using | ConstPointer = std::shared_ptr<AbstractNode const> |
| Reference-counted constant pointer to AbstractNode. | |
Public Member Functions | |
| NLSStatus | prepare (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override |
| Prepare all children in order. | |
| NLSStatus | run (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override |
| Run all children in order. | |
| Node & | setRegistry (Dictionary::Pointer registry) override |
| Set the registry to this node and its children. | |
| void | reset () override |
| Reset children to a default state. | |
| uint64_t | duration () const override |
| Return the sum of the duration of the children. | |
| MrProtocolData::SeqExpoRFInfo | rfInfo () const override |
| Return the sum of the RF information of the children. | |
| bool | empty () const |
| Check whether this node has children. | |
| std::size_t | size () const |
| Return the number of children. | |
| template<typename T> | |
| T & | appendChild (std::shared_ptr< T > const &child) |
| Append a child in last position, return the child. | |
| void | appendChildren (Siblings const &siblings) |
| Append children after the last position. | |
| Node & | deleteChild (std::size_t index) |
| Remove a child. | |
| Node & | clearChildren () |
| Remove all children. | |
| AbstractNode::ConstPointer | child (std::size_t index) const |
| Return a child at given position. | |
| AbstractNode::Pointer | child (std::size_t index) |
| Return a child at given position. | |
| Public Member Functions inherited from msl::graph::AbstractNode | |
| Dictionary::ConstPointer | registry () const |
| Return the registry. | |
| Dictionary::Pointer & | registry () |
| Return the registry. | |
| template<typename T> | |
| T const & | get (std::string const &key) const |
| Return an object from the dictionary. | |
| template<typename T> | |
| T & | get (std::string const &key) |
| Return an object from the dictionary. | |
| template<typename T> | |
| AbstractNode & | set (std::string const &key, T &&value) |
| Store an object in the dictionary, create it if needed. | |
| boost::typeindex::type_info const & | type (std::string const &key) const |
| Return the type of an object in the dictionary. | |
Static Public Member Functions | |
| static Pointer | New (Dictionary::Pointer registry={}) |
| Create a node with no child. | |
| template<typename T> | |
| static Pointer | New (T const &child, Dictionary::Pointer registry={}) |
| Create a node with a single child. | |
| static Pointer | New (Siblings const &siblings, Dictionary::Pointer registry={}) |
| Create a node with multiple children. | |
Protected Member Functions | |
| Node (Dictionary::Pointer registry={}) | |
| Create a node with no child. | |
| template<typename T> | |
| Node (T const &child, Dictionary::Pointer registry={}) | |
| Create a node with a single child. | |
| Node (Siblings const &siblings, Dictionary::Pointer registry={}) | |
| Create a node with multiple children. | |
| Node (Node const &)=default | |
| Node (Node &&)=default | |
| Node & | operator= (Node const &)=default |
| Node & | operator= (Node &&)=default |
| Protected Member Functions inherited from msl::graph::AbstractNode | |
| AbstractNode (Dictionary::Pointer registry={}) | |
| Create a node with the given registry. | |
| AbstractNode (AbstractNode const &)=default | |
| AbstractNode (AbstractNode &&)=default | |
| AbstractNode & | operator= (AbstractNode const &)=default |
| AbstractNode & | operator= (AbstractNode &&)=default |
Protected Attributes | |
| Siblings | _children |
| Children of this node. | |
| Protected Attributes inherited from msl::graph::AbstractNode | |
| Dictionary::Pointer | _registry |
| Registry attached to this node. | |
|
overridevirtual |
Prepare all children in order.
Implements msl::graph::AbstractNode.
|
overridevirtual |
Run all children in order.
Implements msl::graph::AbstractNode.
|
overridevirtual |
Set the registry to this node and its children.
Reimplemented from msl::graph::AbstractNode.
|
overridevirtual |
Reset children to a default state.
Reimplemented from msl::graph::AbstractNode.
|
overridevirtual |
Return the sum of the duration of the children.
Implements msl::graph::AbstractNode.
|
overridevirtual |
Return the sum of the RF information of the children.
Implements msl::graph::AbstractNode.
| AbstractNode::ConstPointer msl::graph::Node::child | ( | std::size_t | index | ) | const |
Return a child at given position.
| AbstractNode::Pointer msl::graph::Node::child | ( | std::size_t | index | ) |
Return a child at given position.