msl 1.3.0
Loading...
Searching...
No Matches
msl::graph Namespace Reference

Detailed Description

Graph-related objects and functions.

Classes

class  AbstractNode
 Base class for all graph nodes. More...
class  Action
 Node calling a function when run is called. More...
class  Block
 Node encapsulating a block (anything respecting the API of SeqBuildBlock). More...
class  Case
 Node encapsulating a switch/case structure based on a boolean key or a function key. More...
class  FlexibleFunctionAdapter
 Adapt a FlexibleFunction to its nominal form. More...
class  If
 Node running its children based on a boolean key, a function key, or a function stored in the node. More...
class  IteratorTemplate
 Node encapsulating an msl::Iterator. More...
class  Loop
 Node encapsulating a loop structure, using a Counter from the registry. More...
class  Node
 Container node, prepare and run its children sequentially. More...

Typedefs

template<typename T>
using FlexibleFunction
 A graph function (e.g. Case or If), with flexible arguments.
template<typename T>
using ConstIterator = IteratorTemplate<msl::ConstIterator<T>>
 Const iterator node.
template<typename T>
using Iterator = IteratorTemplate<msl::Iterator<T>>
 Non-const iterator node.
using SliceIterator = Iterator<::msl::SliceIterator::Container>
 Iterator to a vector of slice specifications.
using SliceConstIterator = ConstIterator<::msl::SliceConstIterator::Container>
 Non-mutable iterator to a vector of slice specifications.

Functions

template<typename T, typename U>
std::shared_ptr< T > NodeCast (std::shared_ptr< U > const &p)
 Up- or down-cast node pointers.
template<typename T>
std::function< T(MrProt &, SeqLim &, SeqExpo &, Dictionary::Pointer)> function_adapter (FlexibleFunction< T > const &f)
 Adapt a FlexibleFunction to its nominal form.

Typedef Documentation

◆ FlexibleFunction

template<typename T>
using msl::graph::FlexibleFunction
Initial value:
boost::variant<
std::function<T()>,
std::function<T(Dictionary::Pointer)>,
std::function<T(MrProt &)>,
std::function<T(MrProt &, Dictionary::Pointer)>,
std::function<T(MrProt &, SeqLim &, SeqExpo &)>,
std::function<T(MrProt &, SeqLim &, SeqExpo &, Dictionary::Pointer)>>
std::shared_ptr< Dictionary > Pointer
Reference-counted pointer to Dictionary.
Definition Dictionary.h:34

A graph function (e.g. Case or If), with flexible arguments.

Note
Most of the Siemens API is not const-correct, hence the lack of const references