8 #include <boost/algorithm/string.hpp>
11 namespace ModelFitting {
17 return engine_factories;
23 throw Elements::Exception() <<
"A LeastSquareEngine named " << name <<
" has already been registered";
41 known_str <<
". Known engines: ";
43 known_str <<
e.first <<
" ";
46 throw Elements::Exception() <<
"No LeastSquareEngine named " << name <<
" has been registered" << known_str.
str();
48 return factory->second(max_iterations);
static std::map< std::string, LeastSquareEngineManager::FactoryMethod > & getEngineFactories()
static std::vector< std::string > getImplementations()
static void registerEngine(const std::string &name, FactoryMethod factory_method)
static std::shared_ptr< LeastSquareEngine > create(const std::string &name, unsigned max_iterations=1000)