|
msl 1.3.0
|
Base class for all graph nodes.
#include <AbstractNode.h>
Public Types | |
| 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 NLSStatus | prepare (MrProt &protocol, SeqLim &limits, SeqExpo &exports)=0 |
| Prepare the node. | |
| virtual NLSStatus | run (MrProt &protocol, SeqLim &limits, SeqExpo &exports)=0 |
| Run the node. | |
| Dictionary::ConstPointer | registry () const |
| Return the registry. | |
| Dictionary::Pointer & | registry () |
| Return the registry. | |
| virtual AbstractNode & | setRegistry (Dictionary::Pointer registry) |
| Set the registry. | |
| virtual void | reset () |
| Reset to a default state. | |
| virtual uint64_t | duration () const =0 |
| Return the duration in microseconds, requires preparation. | |
| virtual MrProtocolData::SeqExpoRFInfo | rfInfo () const =0 |
| Return the RF information for SAR computation, requires preparation. | |
| 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. | |
Protected Member Functions | |
| 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 | |
| Dictionary::Pointer | _registry |
| Registry attached to this node. | |
|
pure virtual |
Prepare the node.
Implemented in msl::graph::Action, msl::graph::Block< T, Slices >, msl::graph::Case< T >, msl::graph::If, msl::graph::IteratorTemplate< T >, msl::graph::IteratorTemplate< msl::ConstIterator< T > >, msl::graph::IteratorTemplate< msl::Iterator< T > >, msl::graph::Loop, and msl::graph::Node.
|
pure virtual |
Run the node.
Implemented in msl::graph::Action, msl::graph::Block< T, Slices >, msl::graph::Case< T >, msl::graph::If, msl::graph::IteratorTemplate< T >, msl::graph::IteratorTemplate< msl::ConstIterator< T > >, msl::graph::IteratorTemplate< msl::Iterator< T > >, msl::graph::Loop, and msl::graph::Node.
|
virtual |
Set the registry.
Reimplemented in msl::graph::Case< T >, and msl::graph::Node.
|
virtual |
Reset to a default state.
Reimplemented in msl::graph::Case< T >, msl::graph::IteratorTemplate< T >, msl::graph::IteratorTemplate< msl::ConstIterator< T > >, msl::graph::IteratorTemplate< msl::Iterator< T > >, msl::graph::Loop, and msl::graph::Node.
|
pure virtual |
Return the duration in microseconds, requires preparation.
Implemented in msl::graph::Action, msl::graph::Block< T, Slices >, msl::graph::Case< T >, msl::graph::If, msl::graph::IteratorTemplate< T >, msl::graph::IteratorTemplate< msl::ConstIterator< T > >, msl::graph::IteratorTemplate< msl::Iterator< T > >, msl::graph::Loop, and msl::graph::Node.
|
pure virtual |
Return the RF information for SAR computation, requires preparation.
Implemented in msl::graph::Action, msl::graph::Block< T, Slices >, msl::graph::Case< T >, msl::graph::If, msl::graph::IteratorTemplate< T >, msl::graph::IteratorTemplate< msl::ConstIterator< T > >, msl::graph::IteratorTemplate< msl::Iterator< T > >, msl::graph::Loop, and msl::graph::Node.