SourceXtractorPlusPlus  0.8
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 
7 #ifndef MODELFITTING_LEASTSQUAREENGINEMANAGER_H
8 #define MODELFITTING_LEASTSQUAREENGINEMANAGER_H
9 
11 
12 namespace ModelFitting {
13 
30 public:
31 
37 
45  static void registerEngine(const std::string& name, FactoryMethod factory_method);
46 
51 
62  static std::shared_ptr<LeastSquareEngine> create(const std::string &name, unsigned max_iterations = 1000);
63 
67  struct StaticEngine {
69  LeastSquareEngineManager::registerEngine(name, factory_method);
70  }
71  };
72 };
73 
74 } // end of namespace ModelFitting
75 
76 #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)