#include <ForEachLoop.hxx>
Private Member Functions | |
SplitterNode (const std::string &name, TypeCode *typeOfData, ForEachLoop *father) | |
SplitterNode (const SplitterNode &other, ForEachLoop *father) | |
InputPort * | getInputPort (const std::string &name) const throw (Exception) |
Node * | simpleClone (ComposedNode *father, bool editionOnly) const |
unsigned | getNumberOfElements () const |
void | execute () |
void | init (bool start=true) |
void | putSplittedValueOnRankTo (int rankInSeq, int branch, bool first) |
Private Attributes | |
SeqAnyInputPort | _dataPortToDispatch |
Static Private Attributes | |
static const char | NAME_OF_SEQUENCE_INPUT [] ="SmplsCollection" |
Friends | |
class | ForEachLoop |
Additional Inherited Members | |
Public Member Functions inherited from YACS::ENGINE::ElementaryNode | |
virtual | ~ElementaryNode () |
void | exUpdateState () |
Update the node state. More... | |
bool | isDeployable () const |
ComponentInstance * | getComponent () |
const ComponentInstance * | getComponent () const |
Container * | getContainer () |
YACS::StatesForNode | getState () const |
void | getReadyTasks (std::vector< Task * > &tasks) |
void | edRemovePort (Port *port) throw (Exception) |
std::list< ElementaryNode * > | getRecursiveConstituents () const |
std::list< ProgressWeight > | getProgressWeight () const |
Get the progress weight for all elementary nodes. More... | |
Node * | getChildByName (const std::string &name) const throw (Exception) |
virtual void | checkBasicConsistency () const throw (Exception) |
ComposedNode * | getDynClonerIfExists (const ComposedNode *levelToStop) const |
int | getNumberOfInputPorts () const |
int | getNumberOfOutputPorts () const |
std::string | getInPortName (const InPort *) const throw (Exception) |
std::string | getOutPortName (const OutPort *) const throw (Exception) |
OutputPort * | getOutputPort (const std::string &name) const throw (Exception) |
std::list< InputPort * > | getSetOfInputPort () const |
std::list< OutputPort * > | getSetOfOutputPort () const |
std::list< InputPort * > | getLocalInputPorts () const |
std::list< OutputPort * > | getLocalOutputPorts () const |
std::set< OutPort * > | getAllOutPortsLeavingCurrentScope () const |
std::set< InPort * > | getAllInPortsComingFromOutsideOfCurrentScope () const |
virtual std::vector< std::pair < OutPort *, InPort * > > | getSetOfLinksLeavingCurrentScope () const |
virtual std::vector< std::pair < InPort *, OutPort * > > | getSetOfLinksComingInCurrentScope () const |
std::list< InputDataStreamPort * > | getSetOfInputDataStreamPort () const |
std::list< OutputDataStreamPort * > | getSetOfOutputDataStreamPort () const |
InputDataStreamPort * | getInputDataStreamPort (const std::string &name) const throw (Exception) |
OutputDataStreamPort * | getOutputDataStreamPort (const std::string &name) const throw (Exception) |
virtual InputPort * | createInputPort (const std::string &inputPortName, TypeCode *type) |
virtual OutputPort * | createOutputPort (const std::string &outputPortName, TypeCode *type) |
virtual InputDataStreamPort * | createInputDataStreamPort (const std::string &inputPortDSName, TypeCode *type) |
virtual OutputDataStreamPort * | createOutputDataStreamPort (const std::string &outputPortDSName, TypeCode *type) |
virtual InputPort * | edAddInputPort (const std::string &inputPortName, TypeCode *type) throw (Exception) |
virtual OutputPort * | edAddOutputPort (const std::string &outputPortName, TypeCode *type) throw (Exception) |
virtual InputDataStreamPort * | edAddInputDataStreamPort (const std::string &inputPortDSName, TypeCode *type) throw (Exception) |
virtual OutputDataStreamPort * | edAddOutputDataStreamPort (const std::string &outputPortDSName, TypeCode *type) throw (Exception) |
virtual void | edOrderInputPorts (const std::list< InputPort * > &ports) |
virtual void | edOrderOutputPorts (const std::list< OutputPort * > &ports) |
virtual std::string | typeName () |
virtual void | edUpdateState () |
update the status of the node More... | |
virtual void | ensureLoading () |
Put this node into TOLOAD state when possible. More... | |
int | getMaxLevelOfParallelism () const |
void | begin () |
bool | isReady () |
void | finished () |
void | aborted () |
void | loaded () |
Notify this node that it is loaded. More... | |
void | connected () |
Notify this node that it is connected. More... | |
virtual std::string | getErrorDetails () |
Give a description of error when node status is ERROR. More... | |
virtual void | initService () |
virtual void | connectService () |
virtual void | disconnectService () |
virtual void | load () |
virtual void | getCoupledTasks (std::set< Task * > &coupledSet) |
Calls getCoupledNodes for Task interface. More... | |
virtual void | getCoupledNodes (std::set< Task * > &coupledSet) |
Put all nodes that are coupled to this node in coupledSet. More... | |
void | accept (Visitor *visitor) |
virtual void | addDatastreamPortToInitMultiService (const std::string &port_name, int number) |
template<class PORT > | |
void | edRemovePortTypedFromSet (PORT *port, std::list< PORT * > &setOfPorts) throw (Exception) |
template<class PORT > | |
bool | isPortNameAlreadyExist (const std::string &portName, const std::list< PORT * > &setOfPorts) |
Static Public Member Functions inherited from YACS::ENGINE::Node | |
static std::string | getStateName (YACS::StatesForNode state) |
Return the name of a state. More... | |
Public Attributes inherited from YACS::ENGINE::Node | |
YACS::Colour | _colour |
Static Public Attributes inherited from YACS::ENGINE::Node | |
static std::map< int, Node * > | idMap |
Protected Member Functions inherited from YACS::ENGINE::ElementaryNode | |
ElementaryNode (const std::string &name) | |
ElementaryNode (const ElementaryNode &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 | initCommonPartWithoutStateManagement (bool start) |
virtual void | createMultiDatastreamPorts () |
void | edDisconnectAllLinksWithMe () |
bool | areAllInputPortsValid () const |
template<class PORT > | |
PORT * | getPort (const std::string &name, const std::list< PORT * > &setOfPorts) const throw (Exception) |
template<class PORT , class ENUMTYPE > | |
PORT * | edAddPort (const std::string &portName, std::list< PORT * > &setOfPorts, ENUMTYPE type) throw (Exception) |
template<class PORT , class ENUMTYPE > | |
bool | edCheckAddPort (const std::string &portName, std::list< PORT * > &setOfPorts, ENUMTYPE type) throw (Exception) |
Static Protected Member Functions inherited from YACS::ENGINE::ElementaryNode | |
template<class PORT > | |
static void | edRemovePortTypedFromSet (PORT *port, std::list< PORT * > &setOfPorts) throw (Exception) |
template<class PORT > | |
static bool | isPortNameAlreadyExist (const std::string &portName, const std::list< PORT * > &setOfPorts) |
Protected Attributes inherited from YACS::ENGINE::ElementaryNode | |
std::list< InputPort * > | _setOfInputPort |
std::list< OutputPort * > | _setOfOutputPort |
std::list< InputDataStreamPort * > | _setOfInputDataStreamPort |
std::list< OutputDataStreamPort * > | _setOfOutputDataStreamPort |
bool | _createDatastreamPorts |
bool | _multi_port_node |
Static Protected Attributes inherited from YACS::ENGINE::Node | |
static const char | SEP_CHAR_IN_PORT [] ="." |
static int | _total = 0 |
Definition at line 89 of file ForEachLoop.hxx.
|
private |
Definition at line 205 of file ForEachLoop.cxx.
References YACS::ENGINE::Node::_father.
Referenced by simpleClone().
|
private |
Definition at line 213 of file ForEachLoop.cxx.
|
privatevirtual |
Implements YACS::ENGINE::Task.
Definition at line 236 of file ForEachLoop.cxx.
|
privatevirtual |
Reimplemented from YACS::ENGINE::ElementaryNode.
Definition at line 218 of file ForEachLoop.cxx.
References YACS::ENGINE::ElementaryNode::getInputPort().
|
private |
Definition at line 231 of file ForEachLoop.cxx.
References _dataPortToDispatch, and YACS::ENGINE::SeqAnyInputPort::getNumberOfElements().
Referenced by YACS::ENGINE::ForEachLoop::exUpdateState(), YACS::ENGINE::ForEachLoop::getFinishedId(), and YACS::ENGINE::ForEachLoop::getNbOfElementsToBeProcessed().
|
privatevirtual |
initialisation of all input and output ports and gates, for execution
Reimplemented from YACS::ENGINE::ElementaryNode.
Definition at line 241 of file ForEachLoop.cxx.
References _dataPortToDispatch, YACS::ENGINE::InputPort::exInit(), and YACS::ENGINE::ElementaryNode::init().
Referenced by YACS::ENGINE::ForEachLoop::init().
|
private |
Definition at line 247 of file ForEachLoop.cxx.
References _dataPortToDispatch, YACS::ENGINE::Node::_father, YACS::ENGINE::RefCounter::decrRef(), YACS::ENGINE::SeqAnyInputPort::getValueAtRank(), and YACS::ENGINE::DynParaLoop::putValueOnBranch().
Referenced by YACS::ENGINE::ForEachLoop::exUpdateState(), and YACS::ENGINE::ForEachLoop::updateStateForWorkNodeOnFinishedEventFrom().
|
privatevirtual |
Implements YACS::ENGINE::Node.
Definition at line 226 of file ForEachLoop.cxx.
References SplitterNode().
|
friend |
Definition at line 91 of file ForEachLoop.hxx.
|
private |
Definition at line 104 of file ForEachLoop.hxx.
Referenced by YACS::ENGINE::ForEachLoop::getLocalInputPorts(), getNumberOfElements(), YACS::ENGINE::ForEachLoop::getSetOfInputPort(), init(), and putSplittedValueOnRankTo().
|
staticprivate |
Definition at line 93 of file ForEachLoop.hxx.
Referenced by YACS::ENGINE::ForEachLoop::getInputPort().