28#include <ql/cashflows/couponpricer.hpp>
29#include <ql/cashflows/inflationcouponpricer.hpp>
62 QuantLib::ext::shared_ptr<U>
engine(Args... params) {
77 virtual QuantLib::ext::shared_ptr<U>
engineImpl(Args...) = 0;
82template <
class T,
typename... Args>
85template <
class T,
typename... Args>
88template <
class T,
typename... Args>
91template <
class T,
typename... Args>
Abstract template EngineBuilder class that can cache engines and coupon pricers.
CachingEngineBuilder(const string &model, const string &engine, const set< string > &tradeTypes)
virtual QuantLib::ext::shared_ptr< U > engineImpl(Args...)=0
map< T, QuantLib::ext::shared_ptr< U > > engines_
virtual T keyImpl(Args...)=0
void reset() override
reset the builder (e.g. clear cache)
QuantLib::ext::shared_ptr< U > engine(Args... params)
Return a PricingEngine or a FloatingRateCouponPricer.
Base PricingEngine Builder class for a specific model and engine.
const string & engine() const
Return the engine name.
const set< string > & tradeTypes() const
Return the possible trade types.
const string & model() const
Return the model name.
Serializable Credit Default Swap.