Engine/ Leg Builder Factory - notice that both engine and leg builders are allowed to maintain a state. More...
#include <ored/portfolio/enginefactory.hpp>
Public Member Functions | |
void | addEngineBuilder (const std::function< QuantLib::ext::shared_ptr< EngineBuilder >()> &builder, const bool allowOverwrite=false) |
void | addAmcEngineBuilder (const std::function< QuantLib::ext::shared_ptr< EngineBuilder >(const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > &cam, const std::vector< Date > &grid)> &builder, const bool allowOverwrite=false) |
void | addAmcCgEngineBuilder (const std::function< QuantLib::ext::shared_ptr< EngineBuilder >(const QuantLib::ext::shared_ptr< ore::data::ModelCG > &model, const std::vector< Date > &grid)> &builder, const bool allowOverwrite=false) |
void | addLegBuilder (const std::function< QuantLib::ext::shared_ptr< LegBuilder >()> &builder, const bool allowOverwrite=false) |
std::vector< QuantLib::ext::shared_ptr< EngineBuilder > > | generateEngineBuilders () const |
std::vector< QuantLib::ext::shared_ptr< EngineBuilder > > | generateAmcEngineBuilders (const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > &cam, const std::vector< Date > &grid) const |
std::vector< QuantLib::ext::shared_ptr< EngineBuilder > > | generateAmcCgEngineBuilders (const QuantLib::ext::shared_ptr< ore::data::ModelCG > &model, const std::vector< Date > &grid) const |
std::vector< QuantLib::ext::shared_ptr< LegBuilder > > | generateLegBuilders () const |
Private Attributes | |
std::vector< std::function< QuantLib::ext::shared_ptr< EngineBuilder >()> > | engineBuilderBuilders_ |
std::vector< std::function< QuantLib::ext::shared_ptr< EngineBuilder >(const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > &cam, const std::vector< Date > &grid)> > | amcEngineBuilderBuilders_ |
std::vector< std::function< QuantLib::ext::shared_ptr< EngineBuilder >(const QuantLib::ext::shared_ptr< ore::data::ModelCG > &model, const std::vector< Date > &grid)> > | amcCgEngineBuilderBuilders_ |
std::vector< std::function< QuantLib::ext::shared_ptr< LegBuilder >()> > | legBuilderBuilders_ |
boost::shared_mutex | mutex_ |
Engine/ Leg Builder Factory - notice that both engine and leg builders are allowed to maintain a state.
Definition at line 174 of file enginefactory.hpp.
void addEngineBuilder | ( | const std::function< QuantLib::ext::shared_ptr< EngineBuilder >()> & | builder, |
const bool | allowOverwrite = false |
||
) |
Definition at line 65 of file enginefactory.cpp.
void addAmcEngineBuilder | ( | const std::function< QuantLib::ext::shared_ptr< EngineBuilder >(const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > &cam, const std::vector< Date > &grid)> & | builder, |
const bool | allowOverwrite = false |
||
) |
Definition at line 83 of file enginefactory.cpp.
void addAmcCgEngineBuilder | ( | const std::function< QuantLib::ext::shared_ptr< EngineBuilder >(const QuantLib::ext::shared_ptr< ore::data::ModelCG > &model, const std::vector< Date > &grid)> & | builder, |
const bool | allowOverwrite = false |
||
) |
Definition at line 105 of file enginefactory.cpp.
void addLegBuilder | ( | const std::function< QuantLib::ext::shared_ptr< LegBuilder >()> & | builder, |
const bool | allowOverwrite = false |
||
) |
Definition at line 127 of file enginefactory.cpp.
std::vector< QuantLib::ext::shared_ptr< EngineBuilder > > generateEngineBuilders | ( | ) | const |
Definition at line 140 of file enginefactory.cpp.
std::vector< QuantLib::ext::shared_ptr< EngineBuilder > > generateAmcEngineBuilders | ( | const QuantLib::ext::shared_ptr< QuantExt::CrossAssetModel > & | cam, |
const std::vector< Date > & | grid | ||
) | const |
Definition at line 149 of file enginefactory.cpp.
std::vector< QuantLib::ext::shared_ptr< EngineBuilder > > generateAmcCgEngineBuilders | ( | const QuantLib::ext::shared_ptr< ore::data::ModelCG > & | model, |
const std::vector< Date > & | grid | ||
) | const |
Definition at line 159 of file enginefactory.cpp.
std::vector< QuantLib::ext::shared_ptr< LegBuilder > > generateLegBuilders | ( | ) | const |
Definition at line 168 of file enginefactory.cpp.
|
private |
Definition at line 175 of file enginefactory.hpp.
|
private |
Definition at line 178 of file enginefactory.hpp.
|
private |
Definition at line 181 of file enginefactory.hpp.
|
private |
Definition at line 182 of file enginefactory.hpp.
|
mutableprivate |
Definition at line 183 of file enginefactory.hpp.