Node encapsulating a switch/case structure based on a boolean key or a function key. More...
#include <Case.h>
Public Types | |
| using | Map = std::unordered_map<T, AbstractNode::Pointer> |
| using | Function |
Public Member Functions | |
| DECLARE_POINTERS (Case< T >) | |
| NLSStatus | prepare (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override |
| Prepare the selected child, throw an exception if unknown value. | |
| NLSStatus | run (MrProt &protocol, SeqLim &limits, SeqExpo &exports) override |
| Run the selected child, throw an exception if unknown value. | |
| Case & | setRegistry (Dictionary::Pointer registry) override |
| Set the registry to this node and its children. | |
| uint64_t | duration () const override |
| Return the duration of the selected child, throw an exception if unknown value. | |
| MrProtocolData::SeqExpoRFInfo | rfInfo () const override |
| Return the RF information of the selected child, throw an exception if unknown value. | |
Public Member Functions inherited from msl::graph::AbstractNode | |
| DECLARE_POINTERS (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, Map const &cases, Dictionary::Pointer registry={}) |
Additional Inherited Members | |
Protected Member Functions inherited from msl::graph::AbstractNode | |
| AbstractNode (Dictionary::Pointer registry={}) | |
| AbstractNode (AbstractNode const &)=default | |
| AbstractNode (AbstractNode &&)=default | |
| AbstractNode & | operator= (AbstractNode const &)=default |
| AbstractNode & | operator= (AbstractNode &&)=default |
Protected Attributes inherited from msl::graph::AbstractNode | |
| Dictionary::Pointer | _registry |
Node encapsulating a switch/case structure based on a boolean key or a function key.
| using msl::graph::Case< T >::Map = std::unordered_map<T, AbstractNode::Pointer> |
| using msl::graph::Case< T >::Function |
| msl::graph::Case< T >::DECLARE_POINTERS | ( | Case< T > | ) |
|
inlinestatic |
|
inlineoverridevirtual |
Prepare the selected child, throw an exception if unknown value.
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.
|
inlineoverridevirtual |
Run the selected child, throw an exception if unknown value.
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.
|
inlineoverridevirtual |
Set the registry to this node and its children.
Reimplemented from msl::graph::AbstractNode.
|
inlineoverridevirtual |
Return the duration of the selected child, throw an exception if unknown value.
Implements msl::graph::AbstractNode.
|
inlineoverridevirtual |
Return the RF information of the selected child, throw an exception if unknown value.
Implements msl::graph::AbstractNode.