Class for for loop node. More...
#include <ForLoop.hxx>


Public Member Functions | |
| ForLoop (const ForLoop &other, ComposedNode *father, bool editionOnly) | |
| ForLoop (const std::string &name) | |
| void | exUpdateState () |
| Update the state of the for loop. More... | |
| void | exUpdateProgress () |
| void | init (bool start=true) |
| Initialize the node. More... | |
| InputPort * | edGetNbOfTimesInputPort () |
| Node * | simpleClone (ComposedNode *father, bool editionOnly=true) const |
| InputPort * | getInputPort (const std::string &name) const |
| Get an input port given its name. More... | |
| OutPort * | getOutPort (const std::string &name) const |
| OutputPort * | getOutputPort (const std::string &name) const |
| Get an output port given its name. More... | |
| std::list< InputPort * > | getLocalInputPorts () const |
| redefined on derived class of ComposedNode. by default a ComposedNode has no port by itself More... | |
| std::list< OutputPort * > | getLocalOutputPorts () const |
| redefined on derived class of ComposedNode. by default a ComposedNode has no port by itself More... | |
| std::list< OutputPort * > | getSetOfOutputPort () const |
| virtual void | accept (Visitor *visitor) |
| InputPort * | getDecisionPort () const |
| Returns the port which value is used to take decision about the continuation of the loop. More... | |
| OutputPort * | edGetIndexPort () |
| virtual std::string | typeName () |
| std::string | getProgress () const |
| std::list< ProgressWeight > | getProgressWeight () const |
| Get the progress weight for all elementary nodes. More... | |
| int | getNbSteps () const |
Public Member Functions inherited from YACS::ENGINE::Loop | |
| Loop (const Loop &other, ComposedNode *father, bool editionOnly) | |
| Loop (const std::string &name) | |
| ~Loop () | |
| void | init (bool start=true) |
| int | getNbOfTurns () const |
| Node * | edSetNode (Node *DISOWNnode) |
| virtual bool | edAddChild (Node *DISOWNnode) |
| bool | isLoop () const override |
| Node * | edRemoveNode () |
| virtual void | checkBasicConsistency () const |
| virtual InputPort * | getDecisionPort () const =0 |
| Returns the port which value is used to take decision about the continuation of the loop. More... | |
| void | getReadyTasks (std::vector< Task * > &tasks) |
| Collect all the child nodes that are ready. More... | |
| void | edRemoveChild (Node *node) |
| Remove a child node. More... | |
| bool | isRepeatedUnpredictablySeveralTimes () const |
| std::list< Node * > | edGetDirectDescendants () const |
| std::list< InputPort * > | getSetOfInputPort () const |
| int | getNumberOfInputPorts () const |
| int | getMaxLevelOfParallelism () const |
| void | getWeightRegardingDPL (ComplexWeight *weight) |
| void | partitionRegardingDPL (const PartDefinition *pd, std::map< ComposedNode *, YACS::BASES::AutoRefCnt< PartDefinition > > &zeMap) |
| Node * | getChildByShortName (const std::string &name) const |
| virtual bool | edAddDFLink (OutPort *start, InPort *end) |
| Connect an OutPort to an InPort and add control link if necessary. More... | |
| void | writeDot (std::ostream &os) const |
| Dump the node state to a stream. More... | |
| virtual void | accept (Visitor *visitor) |
| virtual std::string | typeName () |
Public Member Functions inherited from YACS::ENGINE::StaticDefinedComposedNode | |
| bool | isPlacementPredictableB4Run () const |
| bool | isMultiplicitySpecified (unsigned &value) const |
| void | forceMultiplicity (unsigned value) |
| void | selectRunnableTasks (std::vector< Task * > &tasks) |
Public Member Functions inherited from YACS::ENGINE::ComposedNode | |
| virtual | ~ComposedNode () |
| bool | isFinished () |
| void | init (bool start=true) |
| virtual void | shutdown (int level) |
| Stop all pending activities of the composed node. More... | |
| virtual void | resetState (int level) |
| Reset the state of the node and its children depending on the parameter level. More... | |
| std::string | getName () const |
| std::string | getTaskName (Task *task) const |
| DeploymentTree | getDeploymentTree () const |
| Essentially for test. Use checkDeploymentTree instead to be sure that returned DeploymentTree is consistent. More... | |
| DeploymentTree | checkDeploymentTree (bool deep) const |
| Perform check of deployment consistency of the current graph. More... | |
| std::vector< Task * > | getNextTasks (bool &isMore) |
| virtual bool | isPlacementPredictableB4Run () const =0 |
| void | notifyFrom (const Task *sender, YACS::Event event, const Executor *execInst) |
| Notify the node a task has emitted an event. More... | |
| bool | edAddLink (OutPort *start, InPort *end) |
| Add a dataflow link between two data ports. More... | |
| virtual bool | edAddDFLink (OutPort *start, InPort *end) |
| Connect an OutPort to an InPort and add the necessary control link. More... | |
| virtual bool | edAddChild (Node *DISOWNnode) |
| virtual void | edRemoveChild (Node *node) |
| Remove a child node. More... | |
| bool | edAddLink (OutGate *start, InGate *end) |
| Add a controlflow link between two control ports. More... | |
| bool | edAddCFLink (Node *nodeS, Node *nodeE) |
| Add a controlflow link between two nodes. More... | |
| void | edRemoveCFLink (Node *nodeS, Node *nodeE) |
| Remove a controlflow link. More... | |
| void | edRemoveLink (OutPort *start, InPort *end) |
| Remove a dataflow link. More... | |
| void | edRemoveLink (OutGate *start, InGate *end) |
| Remove a controlflow link. More... | |
| virtual bool | isRepeatedUnpredictablySeveralTimes () const |
| virtual bool | isLoop () const |
| virtual std::list< Node * > | edGetDirectDescendants () const =0 |
| virtual void | removeRecursivelyRedundantCL () |
| std::list< ElementaryNode * > | getRecursiveConstituents () const |
| std::list< Node * > | getAllRecursiveNodes () |
| Get all children nodes elementary and composed including this node. More... | |
| virtual std::list< Node * > | getAllRecursiveConstituents () |
| Idem getAllRecursiveNodes, but this node is NOT included. More... | |
| std::list< ProgressWeight > | getProgressWeight () const |
| Get the progress weight for all elementary nodes. More... | |
| std::string | getInPortName (const InPort *) const |
| Get the input port name. More... | |
| std::string | getOutPortName (const OutPort *) const |
| int | getNumberOfInputPorts () const |
| int | getNumberOfOutputPorts () const |
| std::list< InputPort * > | getSetOfInputPort () const |
| std::list< OutputPort * > | getSetOfOutputPort () const |
| std::list< InputPort * > | getLocalInputPorts () const |
| redefined on derived class of ComposedNode. by default a ComposedNode has no port by itself More... | |
| std::list< OutputPort * > | getLocalOutputPorts () const |
| redefined on derived class of ComposedNode. by default a ComposedNode has no port by itself More... | |
| std::set< OutPort * > | getAllOutPortsLeavingCurrentScope () const |
| List all output ports of children nodes that are linked to out of scope input ports. More... | |
| std::set< InPort * > | getAllInPortsComingFromOutsideOfCurrentScope () const |
| List all input ports that are linked to out of scope ports. More... | |
| std::list< InputDataStreamPort * > | getSetOfInputDataStreamPort () const |
| std::list< OutputDataStreamPort * > | getSetOfOutputDataStreamPort () const |
| OutPort * | getOutPort (const std::string &name) const |
| InputPort * | getInputPort (const std::string &name) const |
| Get an input port given its name. More... | |
| OutputPort * | getOutputPort (const std::string &name) const |
| Get an output port given its name. More... | |
| InputDataStreamPort * | getInputDataStreamPort (const std::string &name) const |
| OutputDataStreamPort * | getOutputDataStreamPort (const std::string &name) const |
| std::vector< std::pair< OutPort *, InPort * > > | getSetOfInternalLinks () const |
| virtual std::vector< std::pair< OutPort *, InPort * > > | getSetOfLinksLeavingCurrentScope () const |
| void | checkConsistency (LinkInfo &info) const |
| virtual std::vector< std::pair< InPort *, OutPort * > > | getSetOfLinksComingInCurrentScope () const |
| virtual std::string | typeName () |
| virtual void | edUpdateState () |
| update the status of the node More... | |
| virtual void | checkBasicConsistency () const |
| virtual std::string | getErrorReport () |
| returns a string that contains an error report if the node is in error More... | |
| ComposedNode * | getRootNode () const |
| bool | isNodeAlreadyAggregated (const Node *node) const |
| Check that Node 'node' is already a direct son of this. More... | |
| virtual bool | isNameAlreadyUsed (const std::string &name) const |
| Node * | isInMyDescendance (Node *nodeToTest) const |
| Returns the parent of a node that is the direct child of this node. More... | |
| std::string | getChildName (const Node *node) const |
| virtual std::string | getMyQualifiedName (const Node *directSon) const |
| Node * | getChildByName (const std::string &name) const |
| void | loaded () |
| void | connected () |
| void | accept (Visitor *visitor) |
| virtual void | cleanNodes () |
| Clean the composed node in case of not clean exit. More... | |
| virtual std::string | getProgress () const |
| void | setProperty (const std::string &name, const std::string &value) override |
| std::string | getProperty (const std::string &name) override |
Public Member Functions inherited from YACS::ENGINE::Node | |
| virtual | ~Node () |
| virtual void | init (bool start=true) |
| virtual void | shutdown (int level) |
| Stop all pending activities of the node. More... | |
| virtual void | resetState (int level) |
| Reset the node state depending on the parameter level. More... | |
| Node * | clone (ComposedNode *father, bool editionOnly=true) const |
| This method MUST NEVER BE VIRTUAL More... | |
| Node * | cloneWithoutCompAndContDeepCpy (ComposedNode *father, bool editionOnly=true) const |
| This method MUST NEVER BE VIRTUAL More... | |
| void | setState (YACS::StatesForNode theState) |
| Sets the given state for node. More... | |
| virtual YACS::StatesForNode | getState () const |
| virtual YACS::StatesForNode | getEffectiveState () const |
| Return the node state in the context of its father. More... | |
| virtual YACS::StatesForNode | getEffectiveState (const Node *) const |
| Return the effective state of a node in the context of this one (its father) More... | |
| std::string | getColorState (YACS::StatesForNode state) const |
| Return the color associated to a state. More... | |
| InGate * | getInGate () |
| OutGate * | getOutGate () |
| const std::string & | getName () const |
| void | setName (const std::string &name) |
| Change the name of the node. More... | |
| ComposedNode * | getFather () const |
| const std::string | getId () const |
| bool | exIsControlReady () const |
| std::list< Node * > | getOutNodes () const |
| virtual void | writeDot (std::ostream &os) const |
| Dump to the input stream a dot representation of the node. More... | |
| void | writeDotInFile (const std::string &fileName) const |
| virtual void | exUpdateState () |
| Update the node state. More... | |
| virtual void | exFailedState () |
| Notify this node that its execution has failed. More... | |
| virtual void | exDisabledState () |
| Notify this node that it has been disabled. More... | |
| virtual void | getReadyTasks (std::vector< Task * > &tasks)=0 |
| virtual std::list< ElementaryNode * > | getRecursiveConstituents () const =0 |
| virtual std::list< ProgressWeight > | getProgressWeight () const =0 |
| virtual int | getNumberOfInputPorts () const =0 |
| virtual int | getNumberOfOutputPorts () const =0 |
| std::list< InPort * > | getSetOfInPort () const |
| std::list< OutPort * > | getSetOfOutPort () const |
| virtual std::list< InputPort * > | getSetOfInputPort () const =0 |
| virtual std::list< OutputPort * > | getSetOfOutputPort () const =0 |
| virtual std::list< InputPort * > | getLocalInputPorts () const =0 |
| virtual std::list< OutputPort * > | getLocalOutputPorts () const =0 |
| virtual std::set< InputPort * > | edGetSetOfUnitializedInputPort () const |
| Becomes deprecated soon. Replaced by ComposedNode::CheckConsistency. More... | |
| virtual bool | edAreAllInputPortInitialized () const |
| Becomes deprecated soon. Replaced by ComposedNode::CheckConsistency. More... | |
| virtual std::string | getInPortName (const InPort *) const =0 |
| virtual std::string | getOutPortName (const OutPort *) const =0 |
| virtual std::list< InputDataStreamPort * > | getSetOfInputDataStreamPort () const =0 |
| virtual std::list< OutputDataStreamPort * > | getSetOfOutputDataStreamPort () const =0 |
| InPort * | getInPort (const std::string &name) const |
| InPropertyPort * | getInPropertyPort () const |
| virtual OutPort * | getOutPort (const std::string &name) const |
| virtual std::set< OutPort * > | getAllOutPortsLeavingCurrentScope () const =0 |
| virtual std::set< InPort * > | getAllInPortsComingFromOutsideOfCurrentScope () const =0 |
| virtual std::vector< std::pair< OutPort *, InPort * > > | getSetOfLinksLeavingCurrentScope () const =0 |
| virtual std::vector< std::pair< InPort *, OutPort * > > | getSetOfLinksComingInCurrentScope () const =0 |
| virtual InputPort * | getInputPort (const std::string &name) const |
| virtual OutputPort * | getOutputPort (const std::string &name) const =0 |
| virtual InputDataStreamPort * | getInputDataStreamPort (const std::string &name) const =0 |
| virtual OutputDataStreamPort * | getOutputDataStreamPort (const std::string &name) const =0 |
| std::list< ComposedNode * > | getAllAscendanceOf (ComposedNode *levelToStop=0) const |
| bool | operator> (const Node &other) const |
| bool | operator< (const Node &other) const |
| std::string | getImplementation () const |
| DynParaLoop * | getClosestDPLAmongAncestors () const |
| virtual ComposedNode * | getRootNode () const |
| virtual void | setProperty (const std::string &name, const std::string &value) |
| virtual std::string | getProperty (const std::string &name) |
| std::map< std::string, std::string > | getProperties () |
| std::map< std::string, std::string > | getPropertyMap () |
| virtual void | setProperties (std::map< std::string, std::string > properties) |
| virtual Node * | getChildByName (const std::string &name) const =0 |
| virtual Proc * | getProc () |
| virtual const Proc * | getProc () const |
| virtual void | accept (Visitor *visitor)=0 |
| virtual int | getMaxLevelOfParallelism () const =0 |
| virtual void | getWeightRegardingDPL (ComplexWeight *weight)=0 |
| virtual void | partitionRegardingDPL (const PartDefinition *pd, std::map< ComposedNode *, YACS::BASES::AutoRefCnt< PartDefinition > > &zeMap)=0 |
| std::string | getQualifiedName () const |
| same as Node::getName() in most cases, but differs for children of switch More... | |
| int | getNumId () |
| return node instance identifiant, unique for each node instance More... | |
| std::vector< std::pair< std::string, int > > | getDPLScopeInfo (ComposedNode *gfn) |
| virtual void | applyDPLScope (ComposedNode *gfn) |
| virtual void | sendEvent (const std::string &event) |
| emit notification to all observers registered with the dispatcher More... | |
| virtual void | sendEvent2 (const std::string &event, void *something) |
| emit notification to all observers registered with the dispatcher More... | |
| virtual std::string | typeName () |
| virtual std::string | getErrorDetails () const |
| virtual void | setErrorDetails (const std::string &error) |
| virtual void | modified () |
| Sets Node in modified state and its father if it exists. More... | |
| virtual int | isModified () |
| virtual int | isValid () |
| indicates if the node is valid (returns 1) or not (returns 0) More... | |
| virtual void | edUpdateState () |
| update the status of the node More... | |
| virtual std::string | getErrorReport () |
| returns a string that contains an error report if the node is in error More... | |
| virtual std::string | getContainerLog () |
| returns a string that contains the name of the container log file if it exists More... | |
| virtual void | ensureLoading () |
| Put this node into TOLOAD state when possible. More... | |
| virtual void | getCoupledNodes (std::set< Task * > &coupledNodes) |
| virtual void | cleanNodes () |
| Clean the node in case of not clean exit. More... | |
Public Member Functions inherited from YACS::ENGINE::Scheduler | |
| virtual void | init (bool start=true)=0 |
| virtual bool | isFinished ()=0 |
| virtual void | exUpdateState ()=0 |
| virtual std::string | getName () const =0 |
| virtual std::string | getTaskName (Task *task) const =0 |
| virtual std::vector< Task * > | getNextTasks (bool &isMore)=0 |
| virtual void | selectRunnableTasks (std::vector< Task * > &tasks)=0 |
| virtual void | notifyFrom (const Task *sender, YACS::Event event, const Executor *execInst)=0 |
| virtual DeploymentTree | getDeploymentTree () const =0 |
| virtual bool | isPlacementPredictableB4Run () const =0 |
| virtual bool | isMultiplicitySpecified (unsigned &value) const =0 |
| virtual void | forceMultiplicity (unsigned value)=0 |
| virtual void | setProperty (const std::string &name, const std::string &value)=0 |
| virtual std::string | getProperty (const std::string &name)=0 |
| virtual | ~Scheduler () |
Protected Member Functions | |
| YACS::Event | updateStateOnFinishedEventFrom (Node *node) |
| Method used to notify the node that a child node has ended. More... | |
| void | checkCFLinks (const std::list< OutPort * > &starts, InputPort *end, unsigned char &alreadyFed, bool direction, LinkInfo &info) const |
| check control flow links More... | |
| void | checkControlDependancy (OutPort *start, InPort *end, bool cross, std::map< ComposedNode *, std::list< OutPort * >, SortHierarc > &fw, std::vector< OutPort * > &fwCross, std::map< ComposedNode *, std::list< OutPort * >, SortHierarc > &bw, LinkInfo &info) const |
Protected Member Functions inherited from YACS::ENGINE::Loop | |
| void | buildDelegateOf (InPort *&port, OutPort *initialStart, const std::list< ComposedNode * > &pointsOfView) |
| void | buildDelegateOf (std::pair< OutPort *, OutPort * > &port, InPort *finalTarget, const std::list< ComposedNode * > &pointsOfView) |
| void | getDelegateOf (InPort *&port, OutPort *initialStart, const std::list< ComposedNode * > &pointsOfView) |
| void | getDelegateOf (std::pair< OutPort *, OutPort * > &port, InPort *finalTarget, const std::list< ComposedNode * > &pointsOfView) |
| void | releaseDelegateOf (InPort *&port, OutPort *initialStart, const std::list< ComposedNode * > &pointsOfView) |
| void | releaseDelegateOf (OutPort *portDwn, OutPort *portUp, InPort *finalTarget, const std::list< ComposedNode * > &pointsOfView) |
| void | checkNoCyclePassingThrough (Node *node) |
| void | checkControlDependancy (OutPort *start, InPort *end, bool cross, std::map< ComposedNode *, std::list< OutPort * >, SortHierarc > &fw, std::vector< OutPort * > &fwCross, std::map< ComposedNode *, std::list< OutPort * >, SortHierarc > &bw, LinkInfo &info) const |
| void | checkCFLinks (const std::list< OutPort * > &starts, InputPort *end, unsigned char &alreadyFed, bool direction, LinkInfo &info) const |
| check control flow links More... | |
Protected Member Functions inherited from YACS::ENGINE::StaticDefinedComposedNode | |
| StaticDefinedComposedNode (const std::string &name) | |
| StaticDefinedComposedNode (const StaticDefinedComposedNode &other, ComposedNode *father) | |
| void | checkControlDependancy (OutPort *start, InPort *end, bool cross, std::map< ComposedNode *, std::list< OutPort * >, SortHierarc > &fw, std::vector< OutPort * > &fwCross, std::map< ComposedNode *, std::list< OutPort * >, SortHierarc > &bw, LinkInfo &info) const |
Protected Member Functions inherited from YACS::ENGINE::ComposedNode | |
| ComposedNode (const std::string &name) | |
| ComposedNode (const ComposedNode &other, ComposedNode *father) | |
| void | performDuplicationOfPlacement (const Node &other) |
| performs a duplication of placement using clone method of containers and components. clone behaviour is driven by attachOnCloning attribute. More... | |
| void | performShallowDuplicationOfPlacement (const Node &other) |
| performs a also duplication of placement but here containers and components are not copied at all whatever the value of attachedOnCloning. More... | |
| void | edDisconnectAllLinksWithMe () |
| virtual Node * | getChildByShortName (const std::string &name) const =0 |
| YACS::Event | updateStateFrom (Node *node, YACS::Event event, const Executor *execInst) |
| Update node state on receiving event from a node. More... | |
| virtual YACS::Event | updateStateOnStartEventFrom (Node *node) |
| Method used to notify the node that a child node has started. More... | |
| virtual YACS::Event | updateStateOnFinishedEventFrom (Node *node)=0 |
| virtual YACS::Event | updateStateOnFailedEventFrom (Node *node, const Executor *execInst) |
| Method used to notify the node that a child node has failed. More... | |
| virtual void | checkLinkPossibility (OutPort *start, const std::list< ComposedNode * > &pointsOfViewStart, InPort *end, const std::list< ComposedNode * > &pointsOfViewEnd) |
| virtual void | buildDelegateOf (InPort *&port, OutPort *initialStart, const std::list< ComposedNode * > &pointsOfView) |
| virtual void | buildDelegateOf (std::pair< OutPort *, OutPort * > &port, InPort *finalTarget, const std::list< ComposedNode * > &pointsOfView) |
| virtual void | getDelegateOf (InPort *&port, OutPort *initialStart, const std::list< ComposedNode * > &pointsOfView) |
| virtual void | getDelegateOf (std::pair< OutPort *, OutPort * > &port, InPort *finalTarget, const std::list< ComposedNode * > &pointsOfView) |
| virtual void | releaseDelegateOf (InPort *&port, OutPort *initialStart, const std::list< ComposedNode * > &pointsOfView) |
| virtual void | releaseDelegateOf (OutPort *portDwn, OutPort *portUp, InPort *finalTarget, const std::list< ComposedNode * > &pointsOfView) |
| virtual void | checkNoCyclePassingThrough (Node *node)=0 |
| void | checkInMyDescendance (Node *nodeToTest) const |
| Check if a node is in the descendance of this node. More... | |
| template<class PORT > | |
| std::string | getPortName (const PORT *port) const |
| void | checkNoCrossHierachyWith (Node *node) const |
| virtual void | performCFComputations (LinkInfo &info) const |
| perform recursively all CF computations. More... | |
| virtual void | destructCFComputations (LinkInfo &info) const |
| destroy recursively all results of initial computations. More... | |
| Node * | getLowestNodeDealingAll (const std::list< OutPort * > &ports) const |
| void | checkLinksCoherenceRegardingControl (const std::vector< OutPort * > &starts, InputPort *end, LinkInfo &info) const |
| virtual void | checkControlDependancy (OutPort *start, InPort *end, bool cross, std::map< ComposedNode *, std::list< OutPort * >, SortHierarc > &fw, std::vector< OutPort * > &fwCross, std::map< ComposedNode *, std::list< OutPort * >, SortHierarc > &bw, LinkInfo &info) const =0 |
| void | solveObviousOrDelegateCFLinks (const std::list< OutPort * > &starts, InputPort *end, unsigned char &alreadyFed, bool direction, LinkInfo &info) const |
| virtual void | checkCFLinks (const std::list< OutPort * > &starts, InputPort *end, unsigned char &alreadyFed, bool direction, LinkInfo &info) const |
| check control flow links More... | |
Protected Member Functions inherited from YACS::ENGINE::Node | |
| Node (const std::string &name) | |
| Node (const Node &other, ComposedNode *father) | |
| virtual void | performDuplicationOfPlacement (const Node &other)=0 |
| performs a duplication of placement using clone method of containers and components. clone behaviour is driven by attachOnCloning attribute. More... | |
| virtual void | performShallowDuplicationOfPlacement (const Node &other)=0 |
| performs a also duplication of placement but here containers and components are not copied at all whatever the value of attachedOnCloning. More... | |
| virtual Node * | simpleClone (ComposedNode *father, bool editionOnly=true) const =0 |
| virtual void | exForwardFailed () |
| virtual void | exForwardFinished () |
| virtual void | edDisconnectAllLinksWithMe () |
Protected Attributes | |
| AnyInputPort | _nbOfTimesPort |
| AnyOutputPort | _indexPort |
Protected Attributes inherited from YACS::ENGINE::Loop | |
| Node * | _node |
| int | _nbOfTurns |
| FakeNodeForLoop * | _nodeForNullTurnOfLoops |
| std::set< DSToDFForLoop * > | _inputsTraducer |
| std::set< DFToDSForLoop * > | _outputsTraducer |
Protected Attributes inherited from YACS::ENGINE::Node | |
| InGate | _inGate |
| OutGate | _outGate |
| InPropertyPort * | _inPropertyPort |
| std::string | _name |
| ComposedNode * | _father |
| YACS::StatesForNode | _state |
| int | _modified |
| std::string | _errorDetails |
| int | _numId |
| std::string | _implementation |
| std::map< std::string, std::string > | _propertyMap |
| Node * | _eventReceiver =nullptr |
Static Protected Attributes | |
| static const char | NAME_OF_INDEX [] ="index" |
| static const char | NAME_OF_NSTEPS_NUMBER [] ="nsteps" |
Static Protected Attributes inherited from YACS::ENGINE::ComposedNode | |
| static const unsigned char | FED_ST = 2 |
| static const unsigned char | FREE_ST = 0 |
| static const unsigned char | FED_DS_ST = 1 |
Static Protected Attributes inherited from YACS::ENGINE::Node | |
| static const char | SEP_CHAR_IN_PORT [] ="." |
| static int | _total = 0 |
Additional Inherited Members | |
Static Public Member Functions inherited from YACS::ENGINE::Loop | |
| static TypeCode * | MappingDF2DS (TypeCode *type) |
| static TypeCode * | MappingDS2DF (TypeCode *type) |
Static Public Member Functions inherited from YACS::ENGINE::ComposedNode | |
| static ComposedNode * | getLowestCommonAncestor (Node *node1, Node *node2) |
| Retrieves the lowest common ancestor of 2 nodes. More... | |
| static std::string | getLowestCommonAncestorStr (const std::string &node1, const std::string &node2) |
Static Public Member Functions inherited from YACS::ENGINE::Node | |
| static std::string | getStateName (YACS::StatesForNode state) |
| Return the name of a state. More... | |
| static void | checkValidityOfNodeName (const std::string &name) |
Public Attributes inherited from YACS::ENGINE::Node | |
| YACS::Colour | _colour |
Static Public Attributes inherited from YACS::ENGINE::ComposedNode | |
| static const char | SEP_CHAR_BTW_LEVEL [] ="." |
Static Public Attributes inherited from YACS::ENGINE::Node | |
| static std::map< int, Node * > | idMap |
Static Protected Member Functions inherited from YACS::ENGINE::Loop | |
| static bool | isNecessaryToBuildSpecificDelegateDF2DS (const std::list< ComposedNode * > &pointsOfView) |
Static Protected Member Functions inherited from YACS::ENGINE::ComposedNode | |
| static bool | splitNamesBySep (const std::string &globalName, const char separator[], std::string &firstPart, std::string &lastPart, bool priority) |
| Splits name globalName in 2 parts using separator. More... | |
Static Protected Member Functions inherited from YACS::ENGINE::Node | |
| static void | checkValidityOfPortName (const std::string &name) |
| static ComposedNode * | checkHavingCommonFather (Node *node1, Node *node2) |
Class for for loop node.
This kind of loop makes a fixed number of steps and stops
Definition at line 32 of file ForLoop.hxx.
| ForLoop::ForLoop | ( | const ForLoop & | other, |
| ComposedNode * | father, | ||
| bool | editionOnly | ||
| ) |
Definition at line 50 of file ForLoop.cxx.
References YACS::ENGINE::ComposedNode::edAddLink(), YACS::ENGINE::Node::getInPort(), getOutPort(), YACS::ENGINE::ComposedNode::getPortName(), and YACS::ENGINE::ComposedNode::getSetOfInternalLinks().
Referenced by simpleClone().
| ForLoop::ForLoop | ( | const std::string & | name | ) |
Definition at line 45 of file ForLoop.cxx.
|
virtual |
Reimplemented from YACS::ENGINE::Loop.
Definition at line 173 of file ForLoop.cxx.
References YACS::ENGINE::Visitor::visitForLoop().
|
protectedvirtual |
check control flow links
| starts | If different of 0, must aggregate at leat 1 element. |
| end | : |
| alreadyFed | in/out parameter. Indicates if 'end' ports is already and surely set or fed by an another port. |
| direction | If true : forward direction else backward direction. |
| info | : informations collectedduring the check |
Reimplemented from YACS::ENGINE::ComposedNode.
Definition at line 220 of file ForLoop.cxx.
References _indexPort, YACS::ENGINE::ComposedNode::FED_ST, YACS::ENGINE::ComposedNode::FREE_ST, YACS::ENGINE::Port::getNode(), YACS::ENGINE::I_USELESS, YACS::ENGINE::ComposedNode::isInMyDescendance(), YACS::ENGINE::LinkInfo::pushInfoLink(), and YACS::ENGINE::ComposedNode::solveObviousOrDelegateCFLinks().
|
protectedvirtual |
Implements YACS::ENGINE::ComposedNode.
Definition at line 206 of file ForLoop.cxx.
References _indexPort, and YACS::ENGINE::StaticDefinedComposedNode::checkControlDependancy().
|
inline |
Definition at line 55 of file ForLoop.hxx.
|
inline |
Definition at line 45 of file ForLoop.hxx.
Referenced by YACS::HMI::SubjectForLoop::getValue(), YACS::HMI::CommandSetForLoopSteps::localExecute(), YACS::HMI::CommandSetForLoopSteps::localReverse(), YACS::ENGINE::nodeParser::onEnd(), YACS::ENGINE::VisitorSaveSchema::visitForLoop(), and YACS::ENGINE::VisitorSaveState::visitForLoop().
| void ForLoop::exUpdateProgress | ( | ) |
Definition at line 167 of file ForLoop.cxx.
References YACS::ENGINE::Node::sendEvent().
Referenced by init(), and updateStateOnFinishedEventFrom().
|
virtual |
Update the state of the for loop.
If the inGate port is ready goes to YACS::ACTIVATED state If the steps number is 0, create an special internal node
Reimplemented from YACS::ENGINE::Node.
Definition at line 103 of file ForLoop.cxx.
References YACS::ENGINE::Node::_inGate, _nbOfTimesPort, YACS::ENGINE::Loop::_node, YACS::ENGINE::Loop::_nodeForNullTurnOfLoops, YACS::ENGINE::Node::_state, YACS::ACTIVATED, DEBTRACE, YACS::DISABLED, YACS::ENGINE::InGate::exIsReady(), YACS::ENGINE::Node::exUpdateState(), YACS::ENGINE::Loop::FakeNodeForLoop, YACS::ENGINE::ComposedNode::getAllOutPortsLeavingCurrentScope(), YACS::ENGINE::AnyInputPort::getIntValue(), YACS::ENGINE::ComposedNode::getName(), YACS::ENGINE::AnyInputPort::isEmpty(), and YACS::ENGINE::Node::setState().
|
inlinevirtual |
Returns the port which value is used to take decision about the continuation of the loop.
Implements YACS::ENGINE::Loop.
Definition at line 54 of file ForLoop.hxx.
|
virtual |
Get an input port given its name.
Contrary to YACS::ENGINE::ComposedNode::getOutputPort, this method is NOT recursive and so the leaf of type ElementaryNode aggregating this InputPort is directly invoked.
Reimplemented from YACS::ENGINE::ComposedNode.
Definition at line 70 of file ForLoop.cxx.
References _nbOfTimesPort, YACS::ENGINE::ComposedNode::getInputPort(), and NAME_OF_NSTEPS_NUMBER.
|
virtual |
redefined on derived class of ComposedNode. by default a ComposedNode has no port by itself
Reimplemented from YACS::ENGINE::ComposedNode.
Definition at line 178 of file ForLoop.cxx.
References _nbOfTimesPort.
|
virtual |
redefined on derived class of ComposedNode. by default a ComposedNode has no port by itself
Reimplemented from YACS::ENGINE::ComposedNode.
Definition at line 199 of file ForLoop.cxx.
References getOutputPort(), and NAME_OF_INDEX.
| int ForLoop::getNbSteps | ( | ) | const |
Definition at line 269 of file ForLoop.cxx.
References _nbOfTimesPort, YACS::ENGINE::AnyInputPort::getIntValue(), and YACS::ENGINE::AnyInputPort::isEmpty().
Referenced by getProgress(), and getProgressWeight().
|
virtual |
Reimplemented from YACS::ENGINE::ComposedNode.
Definition at line 185 of file ForLoop.cxx.
References _indexPort, YACS::ENGINE::ComposedNode::getOutPort(), and NAME_OF_INDEX.
Referenced by ForLoop().
|
virtual |
Get an output port given its name.
Contrary to YACS::ENGINE::ComposedNode::getInputPort, this method is recursive and go down hierarchy step by step to complete its work.
Reimplemented from YACS::ENGINE::ComposedNode.
Definition at line 192 of file ForLoop.cxx.
References _indexPort, YACS::ENGINE::ComposedNode::getOutputPort(), and NAME_OF_INDEX.
Referenced by getLocalOutputPorts().
|
virtual |
Reimplemented from YACS::ENGINE::ComposedNode.
Definition at line 278 of file ForLoop.cxx.
References YACS::ENGINE::Loop::_nbOfTurns, and getNbSteps().
|
virtual |
Get the progress weight for all elementary nodes.
Only elementary nodes have weight. For each node in the loop, the weight done is multiplied by the number of steps done and the weight total by the number total of steps
Reimplemented from YACS::ENGINE::ComposedNode.
Definition at line 297 of file ForLoop.cxx.
References YACS::ENGINE::Loop::edGetDirectDescendants(), YACS::ENGINE::Loop::getNbOfTurns(), and getNbSteps().
|
virtual |
Reimplemented from YACS::ENGINE::ComposedNode.
Definition at line 261 of file ForLoop.cxx.
References _indexPort, and YACS::ENGINE::ComposedNode::getSetOfOutputPort().
|
virtual |
Initialize the node.
| start | a boolean flag to indicate the initialization mode |
If start is true, it's a complete initialization (with port values initialization) If start is false, there is no port values initialization
Reimplemented from YACS::ENGINE::ComposedNode.
Definition at line 85 of file ForLoop.cxx.
References _indexPort, _nbOfTimesPort, YACS::ENGINE::Loop::_nbOfTurns, DEBTRACE, YACS::ENGINE::RefCounter::decrRef(), YACS::ENGINE::OutputPort::exInit(), YACS::ENGINE::InputPort::exInit(), exUpdateProgress(), YACS::ENGINE::Loop::init(), YACS::ENGINE::AtomAny::New(), and YACS::ENGINE::AnyOutputPort::put().
|
virtual |
Implements YACS::ENGINE::Node.
Definition at line 65 of file ForLoop.cxx.
References ForLoop().
|
inlinevirtual |
Reimplemented from YACS::ENGINE::Loop.
Definition at line 56 of file ForLoop.hxx.
|
protectedvirtual |
Method used to notify the node that a child node has ended.
Update the loop state and return the loop change state
| node | : the child node that has ended |
Implements YACS::ENGINE::ComposedNode.
Definition at line 146 of file ForLoop.cxx.
References _indexPort, _nbOfTimesPort, YACS::ENGINE::Loop::_nbOfTurns, YACS::ENGINE::Loop::_node, YACS::ACTIVATED, DEBTRACE, YACS::ENGINE::RefCounter::decrRef(), YACS::DONE, exUpdateProgress(), YACS::ENGINE::Node::exUpdateState(), YACS::FINISH, YACS::ENGINE::AnyInputPort::getIntValue(), YACS::ENGINE::Node::getName(), YACS::ENGINE::Node::init(), YACS::ENGINE::AtomAny::New(), YACS::NOEVENT, YACS::ENGINE::AnyOutputPort::put(), and YACS::ENGINE::Node::setState().
|
protected |
Definition at line 38 of file ForLoop.hxx.
Referenced by checkCFLinks(), checkControlDependancy(), getOutPort(), getOutputPort(), getSetOfOutputPort(), init(), and updateStateOnFinishedEventFrom().
|
protected |
Definition at line 37 of file ForLoop.hxx.
Referenced by exUpdateState(), getInputPort(), getLocalInputPorts(), getNbSteps(), init(), and updateStateOnFinishedEventFrom().
|
staticprotected |
Definition at line 35 of file ForLoop.hxx.
Referenced by getLocalOutputPorts(), getOutPort(), and getOutputPort().
|
staticprotected |
Definition at line 36 of file ForLoop.hxx.
Referenced by getInputPort().