Salome HOME
list->vector to ease life of C++ users.
authorAnthony Geay <anthony.geay@edf.fr>
Wed, 10 Jun 2015 08:58:38 +0000 (10:58 +0200)
committerAnthony Geay <anthony.geay@edf.fr>
Wed, 10 Jun 2015 08:58:38 +0000 (10:58 +0200)
src/evalyfx/YACSEvalYFX.cxx
src/evalyfx/YACSEvalYFX.hxx
src/evalyfx/YACSEvalYFXPattern.cxx
src/evalyfx/YACSEvalYFXPattern.hxx
src/evalyfx_swig/evalyfx.i

index b3210bd5e12f4d575c2f01aef288ffb413761cc9..b3f425cd25df4534cbbb3dea872769b381d14ea8 100644 (file)
@@ -60,17 +60,17 @@ YACSEvalYFX *YACSEvalYFX::BuildFromScheme(YACS::ENGINE::Proc *scheme)
   return new YACSEvalYFX(scheme,false);
 }
 
-std::list< YACSEvalInputPort * > YACSEvalYFX::getFreeInputPorts() const
+std::vector< YACSEvalInputPort * > YACSEvalYFX::getFreeInputPorts() const
 {
   return _pattern->getFreeInputPorts();
 }
 
-std::list< YACSEvalOutputPort * > YACSEvalYFX::getFreeOutputPorts() const
+std::vector< YACSEvalOutputPort * > YACSEvalYFX::getFreeOutputPorts() const
 {
   return _pattern->getFreeOutputPorts();
 }
 
-void YACSEvalYFX::lockPortsForEvaluation(const std::list< YACSEvalOutputPort * >& outputsOfInterest)
+void YACSEvalYFX::lockPortsForEvaluation(const std::vector< YACSEvalOutputPort * >& outputsOfInterest)
 {
   std::size_t sz(checkPortsForEvaluation(outputsOfInterest));
   _pattern->setOutPortsOfInterestForEvaluation(sz,outputsOfInterest);
@@ -79,8 +79,8 @@ void YACSEvalYFX::lockPortsForEvaluation(const std::list< YACSEvalOutputPort * >
 
 void YACSEvalYFX::unlockAll()
 {
-  std::list< YACSEvalInputPort * > allInputs(getFreeInputPorts());
-  for(std::list< YACSEvalInputPort * >::const_iterator it=allInputs.begin();it!=allInputs.end();it++)
+  std::vector< YACSEvalInputPort * > allInputs(getFreeInputPorts());
+  for(std::vector< YACSEvalInputPort * >::const_iterator it=allInputs.begin();it!=allInputs.end();it++)
     (*it)->unlock();
   _pattern->resetOutputsOfInterest();
   _pattern->resetGeneratedGraph();
@@ -136,12 +136,12 @@ YACSEvalYFX::YACSEvalYFX(YACS::ENGINE::Proc *scheme, bool ownScheme):_pattern(0)
   _pattern=YACSEvalYFXPattern::FindPatternFrom(scheme,ownScheme);
 }
 
-std::size_t YACSEvalYFX::checkPortsForEvaluation(const std::list< YACSEvalOutputPort * >& outputs) const
+std::size_t YACSEvalYFX::checkPortsForEvaluation(const std::vector< YACSEvalOutputPort * >& outputs) const
 {
-  std::list< YACSEvalInputPort * > allInputs(getFreeInputPorts());
-  std::list< YACSEvalOutputPort * > allOutputs(getFreeOutputPorts());
+  std::vector< YACSEvalInputPort * > allInputs(getFreeInputPorts());
+  std::vector< YACSEvalOutputPort * > allOutputs(getFreeOutputPorts());
   std::size_t sz(std::numeric_limits<std::size_t>::max());
-  for(std::list< YACSEvalInputPort * >::const_iterator it=allInputs.begin();it!=allInputs.end();it++)
+  for(std::vector< YACSEvalInputPort * >::const_iterator it=allInputs.begin();it!=allInputs.end();it++)
     {
       std::size_t mySz;
       if(!(*it)->isOKForLock() && !(*it)->hasSequenceOfValuesToEval(mySz))
@@ -163,13 +163,13 @@ std::size_t YACSEvalYFX::checkPortsForEvaluation(const std::list< YACSEvalOutput
             }
         }
     }
-  for(std::list< YACSEvalOutputPort * >::const_iterator it=outputs.begin();it!=outputs.end();it++)
+  for(std::vector< YACSEvalOutputPort * >::const_iterator it=outputs.begin();it!=outputs.end();it++)
     if(std::find(allOutputs.begin(),allOutputs.end(),*it)==allOutputs.end())
       throw YACS::Exception("YACSEvalYFX::lockPortsForEvaluation : one of output is not part of this !");
   std::set< YACSEvalOutputPort * > soutputs(outputs.begin(),outputs.end());
   if(soutputs.size()!=outputs.size())
     throw YACS::Exception("YACSEvalYFX::lockPortsForEvaluation : each elt in outputs must appear once !");
-  for(std::list< YACSEvalInputPort * >::const_iterator it=allInputs.begin();it!=allInputs.end();it++)
+  for(std::vector< YACSEvalInputPort * >::const_iterator it=allInputs.begin();it!=allInputs.end();it++)
     (*it)->lock();
   return sz;
 }
index f9ccdd5d975a72fcd1d57c798253507aa4a419fe..dfcd2f43b19c4dc6f4f026f7c6de265acb25e898 100644 (file)
@@ -23,7 +23,6 @@
 
 #include "YACSEvalYFXExport.hxx"
 
-#include <list>
 #include <string>
 #include <vector>
 
@@ -47,9 +46,9 @@ class YACSEvalYFX
 public:
   YACSEVALYFX_EXPORT static YACSEvalYFX *BuildFromFile(const std::string& xmlOfScheme);
   YACSEVALYFX_EXPORT static YACSEvalYFX *BuildFromScheme(YACS::ENGINE::Proc *scheme);
-  YACSEVALYFX_EXPORT std::list< YACSEvalInputPort * > getFreeInputPorts() const;
-  YACSEVALYFX_EXPORT std::list< YACSEvalOutputPort * > getFreeOutputPorts() const;
-  YACSEVALYFX_EXPORT void lockPortsForEvaluation(const std::list< YACSEvalOutputPort * >& outputsOfInterest);
+  YACSEVALYFX_EXPORT std::vector< YACSEvalInputPort * > getFreeInputPorts() const;
+  YACSEVALYFX_EXPORT std::vector< YACSEvalOutputPort * > getFreeOutputPorts() const;
+  YACSEVALYFX_EXPORT void lockPortsForEvaluation(const std::vector< YACSEvalOutputPort * >& outputsOfInterest);
   YACSEVALYFX_EXPORT void unlockAll();
   YACSEVALYFX_EXPORT bool isLocked() const;
   YACSEVALYFX_EXPORT YACSEvalListOfResources *giveResources();
@@ -60,7 +59,7 @@ public:
   YACSEVALYFX_EXPORT ~YACSEvalYFX();
 private:
   YACSEvalYFX(YACS::ENGINE::Proc *scheme, bool ownScheme);
-  std::size_t checkPortsForEvaluation(const std::list< YACSEvalOutputPort * >& outputs) const;
+  std::size_t checkPortsForEvaluation(const std::vector< YACSEvalOutputPort * >& outputs) const;
 private:
   YACSEvalYFXPattern *_pattern;
 };
index 9ac3852ee37f06c74e985b8930e3761351f25d86..b5cfd95ce93789e1aee061912d43c5fa048f759c 100644 (file)
@@ -46,21 +46,21 @@ const char YACSEvalYFXPattern::DFT_PROC_NAME[]="YFX";
 
 const char YACSEvalYFXRunOnlyPattern::GATHER_NODE_NAME[]="__gather__";
 
-std::list< YACSEvalInputPort *> YACSEvalYFXPattern::getFreeInputPorts() const
+std::vector< YACSEvalInputPort *> YACSEvalYFXPattern::getFreeInputPorts() const
 {
   std::size_t sz(_inputs.size());
-  std::list< YACSEvalInputPort *> ret;
-  std::list< YACSEvalInputPort >::const_iterator it(_inputs.begin());
+  std::vector< YACSEvalInputPort *> ret;
+  std::vector< YACSEvalInputPort >::const_iterator it(_inputs.begin());
   for(std::size_t i=0;i<sz;i++,it++)
     ret.push_back(const_cast<YACSEvalInputPort *>(&(*it)));
   return ret;
 }
 
-std::list< YACSEvalOutputPort *> YACSEvalYFXPattern::getFreeOutputPorts() const
+std::vector< YACSEvalOutputPort *> YACSEvalYFXPattern::getFreeOutputPorts() const
 {
   std::size_t sz(_outputs.size());
-  std::list< YACSEvalOutputPort *> ret;
-  std::list< YACSEvalOutputPort >::const_iterator it(_outputs.begin());
+  std::vector< YACSEvalOutputPort *> ret;
+  std::vector< YACSEvalOutputPort >::const_iterator it(_outputs.begin());
   for(std::size_t i=0;i<sz;i++,it++)
     ret.push_back(const_cast<YACSEvalOutputPort *>(&(*it)));
   return ret;
@@ -235,7 +235,7 @@ YACSEvalYFXRunOnlyPattern::YACSEvalYFXRunOnlyPattern(YACS::ENGINE::Proc *scheme,
   buildOutputPorts();
 }
 
-void YACSEvalYFXRunOnlyPattern::setOutPortsOfInterestForEvaluation(std::size_t commonSize, const std::list<YACSEvalOutputPort *>& outputsOfInterest)
+void YACSEvalYFXRunOnlyPattern::setOutPortsOfInterestForEvaluation(std::size_t commonSize, const std::vector<YACSEvalOutputPort *>& outputsOfInterest)
 {
   checkNonLocked();
   _commonSz=commonSize;
@@ -267,7 +267,7 @@ void YACSEvalYFXRunOnlyPattern::generateGraph()
   YACS::ENGINE::TypeCode *listPyobjTC(_generatedGraph->createSequenceTc(LISTPYOBJ_STR,LISTPYOBJ_STR,pyobjTC));
   YACS::ENGINE::OutputPort *sender(n0->edAddOutputPort("sender",listPyobjTC));
   std::ostringstream var0;
-  for(std::list< YACSEvalInputPort >::const_iterator it=_inputs.begin();it!=_inputs.end();it++)
+  for(std::vector< YACSEvalInputPort >::const_iterator it=_inputs.begin();it!=_inputs.end();it++)
     {
       std::size_t dummy;
       if((*it).hasSequenceOfValuesToEval(dummy))
@@ -302,7 +302,7 @@ void YACSEvalYFXRunOnlyPattern::generateGraph()
   n10->edAddCFLink(n100,n101);
   n1->edAddDFLink(n1->edGetSamplePort(),dispatchIn);
   std::ostringstream var1;
-  for(std::list< YACSEvalInputPort >::const_iterator it=_inputs.begin();it!=_inputs.end();it++)
+  for(std::vector< YACSEvalInputPort >::const_iterator it=_inputs.begin();it!=_inputs.end();it++)
     {
       std::size_t dummy;
       if((*it).hasSequenceOfValuesToEval(dummy))
@@ -316,7 +316,7 @@ void YACSEvalYFXRunOnlyPattern::generateGraph()
     }
   std::ostringstream n100Script;  n100Script << var1.str() << "=i0\n";
   n100->setScript(n100Script.str());
-  for(std::list< YACSEvalOutputPort * >::const_iterator it=_outputsOfInterest.begin();it!=_outputsOfInterest.end();it++)
+  for(std::vector< YACSEvalOutputPort * >::const_iterator it=_outputsOfInterest.begin();it!=_outputsOfInterest.end();it++)
     {
       YACS::ENGINE::TypeCode *tc(createSeqTypeCodeFrom(_generatedGraph,(*it)->getTypeOfData()));
       YACS::ENGINE::InputPort *myIn(n2->edAddInputPort((*it)->getName(),tc));
@@ -401,7 +401,7 @@ std::vector<YACSEvalSeqAny *> YACSEvalYFXRunOnlyPattern::getResults() const
   if(!nodeC)
     throw YACS::Exception("YACSEvalYFXRunOnlyPattern::getResults : internal error !");
   std::size_t ii(0);
-  for(std::list< YACSEvalOutputPort * >::const_iterator it=_outputsOfInterest.begin();it!=_outputsOfInterest.end();it++,ii++)
+  for(std::vector< YACSEvalOutputPort * >::const_iterator it=_outputsOfInterest.begin();it!=_outputsOfInterest.end();it++,ii++)
     {
       YACS::ENGINE::InPort *input(nodeC->getInPort((*it)->getName()));
       YACS::ENGINE::InputPyPort *inputC(dynamic_cast<YACS::ENGINE::InputPyPort *>(input));
index 063dae7cd986a62a4c9e76efb07b1b1e35630566..d3d018e7b63c43d3f4f076f5e2758dcd754954a6 100644 (file)
@@ -23,7 +23,6 @@
 
 #include "YACSEvalPort.hxx"
 
-#include <list>
 #include <vector>
 
 namespace YACS
@@ -44,8 +43,8 @@ class YACSEvalYFXPattern
 {
 public:
   virtual ~YACSEvalYFXPattern();
-  std::list< YACSEvalInputPort *> getFreeInputPorts() const;
-  std::list< YACSEvalOutputPort *> getFreeOutputPorts() const;
+  std::vector< YACSEvalInputPort *> getFreeInputPorts() const;
+  std::vector< YACSEvalOutputPort *> getFreeOutputPorts() const;
   static YACSEvalYFXPattern *FindPatternFrom(YACS::ENGINE::Proc *scheme, bool ownScheme);
   bool isAlreadyComputedResources() const;
   void checkNonAlreadyComputedResources() const;
@@ -53,7 +52,7 @@ public:
   void checkLocked() const;
   void checkNonLocked() const;
   static void CheckNodeIsOK(YACS::ENGINE::ComposedNode *node);
-  virtual void setOutPortsOfInterestForEvaluation(std::size_t commonSize, const std::list<YACSEvalOutputPort *>& outputs) = 0;
+  virtual void setOutPortsOfInterestForEvaluation(std::size_t commonSize, const std::vector<YACSEvalOutputPort *>& outputs) = 0;
   virtual void resetOutputsOfInterest() = 0;
   virtual void generateGraph() = 0;
   virtual void resetGeneratedGraph() = 0;
@@ -80,15 +79,15 @@ private:
   ResourcesManager_cpp *_rm;
   YACSEvalListOfResources *_res;
 protected:
-  std::list< YACSEvalInputPort > _inputs;
-  std::list< YACSEvalOutputPort > _outputs;
+  std::vector< YACSEvalInputPort > _inputs;
+  std::vector< YACSEvalOutputPort > _outputs;
 };
 
 class YACSEvalYFXRunOnlyPattern : public YACSEvalYFXPattern
 {
 public:
   YACSEvalYFXRunOnlyPattern(YACS::ENGINE::Proc *scheme, bool ownScheme, YACS::ENGINE::ComposedNode *runNode);
-  void setOutPortsOfInterestForEvaluation(std::size_t commonSize, const std::list<YACSEvalOutputPort *>& outputsOfInterest);
+  void setOutPortsOfInterestForEvaluation(std::size_t commonSize, const std::vector<YACSEvalOutputPort *>& outputsOfInterest);
   void resetOutputsOfInterest();
   void generateGraph();
   void resetGeneratedGraph();
@@ -106,7 +105,7 @@ private:
 private:
   YACS::ENGINE::ComposedNode *_runNode;
   std::size_t _commonSz;
-  std::list<YACSEvalOutputPort *> _outputsOfInterest;
+  std::vector<YACSEvalOutputPort *> _outputsOfInterest;
   YACS::ENGINE::Proc *_generatedGraph;
 };
 
index 6d9ee76e26069627baeffc7a922618e5b7de2c2e..9e391bcea041c44678b91b1e13a63bcc59106619 100644 (file)
@@ -127,9 +127,9 @@ static void convertPyToDblArr(PyObject *pyLi, std::vector<double>& arr)
 %newobject YACSEvalYFX::BuildFromFile;
 %newobject YACSEvalYFX::BuildFromScheme;
 
-%typemap(out) std::list<YACSEvalInputPort *>
+%typemap(out) std::vector<YACSEvalInputPort *>
 {
-  std::list<YACSEvalInputPort *>::const_iterator it;
+  std::vector<YACSEvalInputPort *>::const_iterator it;
   $result = PyList_New($1.size());
   int i = 0;
   for (it = $1.begin(); it != $1.end(); ++it, ++i)
@@ -138,9 +138,9 @@ static void convertPyToDblArr(PyObject *pyLi, std::vector<double>& arr)
     }
 }
 
-%typemap(out) std::list<YACSEvalOutputPort *>
+%typemap(out) std::vector<YACSEvalOutputPort *>
 {
-  std::list<YACSEvalOutputPort *>::const_iterator it;
+  std::vector<YACSEvalOutputPort *>::const_iterator it;
   $result = PyList_New($1.size());
   int i = 0;
   for (it = $1.begin(); it != $1.end(); ++it, ++i)
@@ -344,8 +344,8 @@ class YACSEvalYFX
 public:
   static YACSEvalYFX *BuildFromFile(const std::string& xmlOfScheme);
   static YACSEvalYFX *BuildFromScheme(YACS::ENGINE::Proc *schema);
-  std::list<YACSEvalInputPort *> getFreeInputPorts() const;
-  std::list<YACSEvalOutputPort *> getFreeOutputPorts() const;
+  std::vector<YACSEvalInputPort *> getFreeInputPorts() const;
+  std::vector<YACSEvalOutputPort *> getFreeOutputPorts() const;
   void unlockAll();
   bool isLocked() const;
   YACS::ENGINE::Proc *getUndergroundGeneratedGraph() const;
@@ -354,7 +354,7 @@ public:
      {
        void lockPortsForEvaluation(PyObject *outputsOfInterest)
        {
-         std::list<YACSEvalOutputPort *> outputsOfInterestCpp;
+         std::vector<YACSEvalOutputPort *> outputsOfInterestCpp;
          if(PyList_Check(outputsOfInterest))
            {
              int size(PyList_Size(outputsOfInterest));