msl 1.1.0
 
Loading...
Searching...
No Matches
msl::graph::AbstractNode Class Referenceabstract

Base class for all graph nodes. More...

#include <AbstractNode.h>

Inheritance diagram for msl::graph::AbstractNode:
msl::graph::Action msl::graph::Block< T, Slices > msl::graph::Case< T > msl::graph::Node msl::graph::IteratorTemplate< msl::ConstIterator< T > > msl::graph::IteratorTemplate< msl::Iterator< T > > msl::graph::If msl::graph::IteratorTemplate< T > msl::graph::Loop

Public Member Functions

 DECLARE_POINTERS (AbstractNode)
 
virtual ~AbstractNode ()=default
 
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 AbstractNodesetRegistry (Dictionary::Pointer registry)
 Set the registry.
 
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.
 
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={})
 
 AbstractNode (AbstractNode const &)=default
 
 AbstractNode (AbstractNode &&)=default
 
AbstractNodeoperator= (AbstractNode const &)=default
 
AbstractNodeoperator= (AbstractNode &&)=default
 

Protected Attributes

Dictionary::Pointer _registry
 

Detailed Description

Base class for all graph nodes.

Constructor & Destructor Documentation

◆ ~AbstractNode()

virtual msl::graph::AbstractNode::~AbstractNode ( )
virtualdefault

◆ AbstractNode() [1/3]

msl::graph::AbstractNode::AbstractNode ( Dictionary::Pointer registry = {})
protected

◆ AbstractNode() [2/3]

msl::graph::AbstractNode::AbstractNode ( AbstractNode const & )
protecteddefault

◆ AbstractNode() [3/3]

msl::graph::AbstractNode::AbstractNode ( AbstractNode && )
protecteddefault

Member Function Documentation

◆ DECLARE_POINTERS()

msl::graph::AbstractNode::DECLARE_POINTERS ( AbstractNode )

◆ prepare()

◆ run()

◆ registry() [1/2]

Dictionary::ConstPointer msl::graph::AbstractNode::registry ( ) const

Return the registry.

◆ registry() [2/2]

Dictionary::Pointer msl::graph::AbstractNode::registry ( )

Return the registry.

◆ setRegistry()

virtual AbstractNode & msl::graph::AbstractNode::setRegistry ( Dictionary::Pointer registry)
virtual

Set the registry.

Reimplemented in msl::graph::Case< T >, and msl::graph::Node.

◆ duration()

virtual uint64_t msl::graph::AbstractNode::duration ( ) const
pure virtual

Return the duration in microseconds, requires preparation.

Note
The SBB API uses a signed long, i.e. a max duration of 2^31 / 10^6 seconds, i.e. less than 36 minutes. For a total duration, this is insufficient, hence the use of uint64_t (max value over half a million years).

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::ConstIterator< T > >, msl::graph::IteratorTemplate< msl::Iterator< T > >, msl::graph::IteratorTemplate< msl::Iterator< T > >, msl::graph::Loop, and msl::graph::Node.

◆ rfInfo()

◆ get() [1/2]

template<typename T>
T const & msl::graph::AbstractNode::get ( std::string const & key) const
inline

Return an object from the dictionary.

◆ get() [2/2]

template<typename T>
T & msl::graph::AbstractNode::get ( std::string const & key)
inline

Return an object from the dictionary.

◆ type()

boost::typeindex::type_info const & msl::graph::AbstractNode::type ( std::string const & key) const

Return the type of an object in the dictionary.

◆ operator=() [1/2]

AbstractNode & msl::graph::AbstractNode::operator= ( AbstractNode const & )
protecteddefault

◆ operator=() [2/2]

AbstractNode & msl::graph::AbstractNode::operator= ( AbstractNode && )
protecteddefault

Member Data Documentation

◆ _registry

Dictionary::Pointer msl::graph::AbstractNode::_registry
protected

The documentation for this class was generated from the following file: