30#include <boost/make_shared.hpp>
35#include <ql/patterns/singleton.hpp>
68 :
public QuantLib::Singleton<CalibrationInstrumentFactory, std::integral_constant<bool, true>> {
76 typedef std::map<std::string, std::function<QuantLib::ext::shared_ptr<CalibrationInstrument>()>>
map_type;
85 QuantLib::ext::shared_ptr<CalibrationInstrument>
build(const std::string& instrumentType);
89 void
addBuilder(const std::string& instrumentType,
90 std::function<QuantLib::ext::shared_ptr<CalibrationInstrument>()> builder,
91 const bool allowOverwrite = false);
class for holding details of the calibration instruments for a model
std::map< std::string, std::function< QuantLib::ext::shared_ptr< CalibrationInstrument >()> > map_type
QuantLib::ext::shared_ptr< CalibrationInstrument > build(const std::string &instrumentType)
void addBuilder(const std::string &instrumentType, std::function< QuantLib::ext::shared_ptr< CalibrationInstrument >()> builder, const bool allowOverwrite=false)
boost::shared_mutex mutex_
QuantLib::ext::shared_ptr< CalibrationInstrument > createCalibrationInstrument()
Classes and functions for log message handling.
Serializable Credit Default Swap.