#include "OutputPort.hxx"
#include "NbBranches.hxx"
+#include <memory>
+
namespace YACS
{
namespace ENGINE
Node *_finalizeNode;
unsigned _nbOfEltConsumed;
std::vector<int> _execIds;
- NbBranches _nbOfBranches;
+ //NbBranches _nbOfBranches2;
+ std::unique_ptr<NbBranchesAbstract> _nbOfBranches;
AnyOutputPort _splittedPort;
std::vector<Node *> _execNodes;
std::vector<Node *> _execInitNodes;
static const char NAME_OF_SPLITTED_SEQ_OUT[];
static const char OLD_NAME_OF_SPLITTED_SEQ_OUT[];
protected:
- DynParaLoop(const std::string& name, TypeCode *typeOfDataSplitted);
+ DynParaLoop(const std::string& name, TypeCode *typeOfDataSplitted, std::unique_ptr<NbBranchesAbstract>&& branchManager);
virtual ~DynParaLoop();
DynParaLoop(const DynParaLoop& other, ComposedNode *father, bool editionOnly);
public:
Node *edSetFinalizeNode(Node *DISOWNnode);
virtual bool edAddDFLink(OutPort *start, InPort *end) throw(Exception);
void init(bool start=true);
- InputPort *edGetNbOfBranchesPort() { return _nbOfBranches.getPort(); }
+ InputPort *edGetNbOfBranchesPort() { return _nbOfBranches->getPort(); }
int getNumberOfInputPorts() const;
int getNumberOfOutputPorts() const;
unsigned getNumberOfEltsConsumed() const { return _nbOfEltConsumed; }