SourceXtractorPlusPlus  0.14
Please provide a description of the project.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
LeastSquareEngineManager.h
Go to the documentation of this file.
1 
23 #ifndef MODELFITTING_LEASTSQUAREENGINEMANAGER_H
24 #define MODELFITTING_LEASTSQUAREENGINEMANAGER_H
25 
27 
28 namespace ModelFitting {
29 
46 public:
47 
53 
61  static void registerEngine(const std::string& name, FactoryMethod factory_method);
62 
67 
71  static std::string getDefault();
72 
83  static std::shared_ptr<LeastSquareEngine> create(const std::string &name, unsigned max_iterations = 1000);
84 
88  struct StaticEngine {
90  LeastSquareEngineManager::registerEngine(name, factory_method);
91  }
92  };
93 };
94 
95 } // end of namespace ModelFitting
96 
97 #endif /* MODELFITTING_LEASTSQUAREENGINEMANAGER_H */
static std::vector< std::string > getImplementations()
static void registerEngine(const std::string &name, FactoryMethod factory_method)
STL class.
Keep a registry of supported engines, and bridge their factory methods.
StaticEngine(const std::string &name, LeastSquareEngineManager::FactoryMethod factory_method)
static std::shared_ptr< LeastSquareEngine > create(const std::string &name, unsigned max_iterations=1000)