|
msl 1.3.0
|
Node encapsulating a loop structure, using a Counter from the registry.
Each child node is prepared once, and run according to the Counter.
#include <Loop.h>
Public Types | |
| using | Pointer = std::shared_ptr< Loop > |
| Reference-counted pointer to Loop | |
| using | ConstPointer = std::shared_ptr< Loop const > |
| Reference-counted constant pointer to Loop | |
Public Types inherited from msl::graph::Node | |
| 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 | |
| virtual | ~Loop ()=default |
| NLSStatus | prepare (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override |
| Reset the counter and prepare the children. | |
| NLSStatus | run (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override |
| Reset the counter and run the children for each index of the counter. | |
| uint64_t | duration () const override |
| Return the sum of the duration of the children times the maximum value of the counter. | |
| MrProtocolData::SeqExpoRFInfo | rfInfo () const override |
| Return the sum of the RF information of the children times the maximum value of the counter. | |
Public Member Functions inherited from msl::graph::Node | |
| virtual | ~Node ()=default |
| 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. | |
| 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. | |
| 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 | |
| virtual | ~AbstractNode ()=default |
| 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. | |
| 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 (std::string const &counter, Dictionary::Pointer registry={}) |
| Create a loop with no child. | |
| template<typename T > | |
| static Pointer | New (std::string const &counter, T const &child, Dictionary::Pointer registry={}) |
| Create a loop with a single child. | |
| static Pointer | New (std::string const &counter, Siblings const &siblings, Dictionary::Pointer registry={}) |
| Create a loop with multiple children. | |
Static Public Member Functions inherited from msl::graph::Node | |
| 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. | |
| using msl::graph::Loop::Pointer = std::shared_ptr< Loop > |
Reference-counted pointer to Loop
| using msl::graph::Loop::ConstPointer = std::shared_ptr< Loop const> |
Reference-counted constant pointer to Loop
|
virtualdefault |
|
static |
Create a loop with no child.
|
inlinestatic |
Create a loop with a single child.
|
static |
Create a loop with multiple children.
|
overridevirtual |
Reset the counter and prepare the children.
Implements msl::graph::AbstractNode.
|
overridevirtual |
Reset the counter and run the children for each index of the counter.
Implements msl::graph::AbstractNode.
|
overridevirtual |
Return the sum of the duration of the children times the maximum value of the counter.
Implements msl::graph::AbstractNode.
|
overridevirtual |
Return the sum of the RF information of the children times the maximum value of the counter.
Implements msl::graph::AbstractNode.