Node running its children based on a boolean key, a function key, or a function stored in the node.
|
|
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.
|
|
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.
|
|
using | Pointer = std::shared_ptr<AbstractNode> |
| | Reference-counted pointer to AbstractNode.
|
|
using | ConstPointer = std::shared_ptr<AbstractNode const> |
| | Reference-counted constant pointer to AbstractNode.
|
|
| 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.
|
| 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.
|
| void | reset () override |
| | Reset children to a default state.
|
| 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.
|
|
void | appendChildren (Siblings const &siblings) |
| | Append children after the last position.
|
|
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.
|
|
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.
|
|
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.
|
|
|
static Pointer | New (std::string const &key, Dictionary::Pointer registry={}) |
| | Create an If node without children.
|
|
static Pointer | New (Function const &function, 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.
|
|
template<typename T> |
| static Pointer | New (Function const &function, 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 Pointer | New (Function const &function, Siblings const &siblings, Dictionary::Pointer registry={}) |
| | Create an If node with multiple children.
|
|
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.
|