Ejemplo n.º 1
0
 void OptimizationAlgorithmFactory::unregisterSolver(AbstractOptimizationAlgorithmCreator* c)
 {
   const string& name = c->property().name;
   CreatorList::iterator foundIt = findSolver(name);
   if (foundIt != _creator.end()) {
     delete *foundIt;
     _creator.erase(foundIt);
   }
 }
Ejemplo n.º 2
0
 OptimizationAlgorithm* OptimizationAlgorithmFactory::construct(const std::string& name, OptimizationAlgorithmProperty& solverProperty) const
 {
   CreatorList::const_iterator foundIt = findSolver(name);
   if (foundIt != _creator.end()) {
     solverProperty = (*foundIt)->property();
     return (*foundIt)->construct();
   }
   cerr << "SOLVER FACTORY WARNING: Unable to create solver " << name << endl;
   return 0;
 }
Ejemplo n.º 3
0
 void OptimizationAlgorithmFactory::registerSolver(AbstractOptimizationAlgorithmCreator* c)
 {
   const string& name = c->property().name;
   CreatorList::iterator foundIt = findSolver(name);
   if (foundIt != _creator.end()) {
     _creator.erase(foundIt);
     cerr << "SOLVER FACTORY WARNING: Overwriting Solver creator " << name << endl;
     assert(0);
   }
   _creator.push_back(c);
 }