|
msl 1.3.0
|
Node running its children based on a boolean key or a function key.
#include <If.h>
Public Types | |
| using | Pointer = std::shared_ptr< If > |
| Reference-counted pointer to If | |
| using | ConstPointer = std::shared_ptr< If const > |
| Reference-counted constant pointer to If | |
| using | Function = FlexibleFunction< bool > |
| Test function. | |
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 | ~If ()=default |
| NLSStatus | prepare (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override |
| Prepare the children if the boolean is true. | |
| NLSStatus | run (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override |
| Run the children if the boolean is true. | |
| uint64_t | duration () const override |
| Return the sum of the duration of the children if the boolean is true, 0 otherwise. | |
| MrProtocolData::SeqExpoRFInfo | rfInfo () const override |
| Return the sum of the RF information of the children if the boolean is true, empty RF information otherwise. | |
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 &key, Dictionary::Pointer registry={}) |
| Create an If node without children. | |
| template<typename T > | |
| static Pointer | New (std::string const &key, T const &child, Dictionary::Pointer registry={}) |
| Create an If node with a single child. | |
| static Pointer | New (std::string const &key, Siblings const &siblings, Dictionary::Pointer registry={}) |
| Create an If node 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::If::Pointer = std::shared_ptr< If > |
Reference-counted pointer to If
| using msl::graph::If::ConstPointer = std::shared_ptr< If const> |
Reference-counted constant pointer to If
| using msl::graph::If::Function = FlexibleFunction<bool> |
Test function.
|
virtualdefault |
|
static |
Create an If node without children.
|
inlinestatic |
Create an If node with a single child.
|
static |
Create an If node with multiple children.
|
overridevirtual |
Prepare the children if the boolean is true.
Implements msl::graph::AbstractNode.
|
overridevirtual |
Run the children if the boolean is true.
Implements msl::graph::AbstractNode.
|
overridevirtual |
Return the sum of the duration of the children if the boolean is true, 0 otherwise.
protocol, limits, and exports used in the last call to prepare or run must still be reachable if the condition is given by a function Implements msl::graph::AbstractNode.
|
overridevirtual |
Return the sum of the RF information of the children if the boolean is true, empty RF information otherwise.
protocol, limits, and exports used in the last call to prepare or run must still be reachable if the condition is given by a function Implements msl::graph::AbstractNode.