45#ifndef OPTIMIZATION_OPTIMIZATIONFACTORY_HPP
46#define OPTIMIZATION_OPTIMIZATIONFACTORY_HPP
56using namespace QuantLib;
60 class OptimizationCreator;
70 using CreatorMapType = std::map<std::string, OptimizationCreator*>;
71 using IdentVectorType = std::vector<std::string>;
72 using IdentVectorIterator = std::vector<std::string>::iterator;
125 CreatorMapType creatorMap_;
129 std::ostream& operator<<(std::ostream& o, OptimizationFactory& factory);
Abstract optimization method class.
Factory pattern and Singleton Pattern are used to define an interface for creating an Optimization.
IdentVectorType getIdents()
Returns all of the registed type identifiers.
static OptimizationFactory & getInstance()
Returns an instance of Optimization factory.
bool unregisterOptimization(const std::string &id)
Unregisters the creator for the given type identifier.
QuantLib::OptimizationMethod * createOptimization(const std::string &id, SimInfo *info)
Looks up the type identifier in the internal map.
bool registerOptimization(OptimizationCreator *creator)
Registers a creator with a type identifier.
One of the heavy-weight classes of OpenMD, SimInfo maintains objects and variables relating to the cu...
Abstract class for constrained optimization method.
This basic Periodic Table class was originally taken from the data.cpp file in OpenBabel.