julian::DeeplyCopyableMarketModel< T > Class Template Reference

Class uses Curiously Recurring Template Pattern to implement polymorphic copy construction in every derived class implementing MarketModel. More...

#include <marketModel.hpp>

Inheritance diagram for julian::DeeplyCopyableMarketModel< T >:
julian::MarketModel

Public Member Functions

virtual MarketModelclone () const
 virtual copy constructor More...
 
- Public Member Functions inherited from julian::MarketModel
virtual Date getDate () const =0
 returns the date on which market data are actual More...
 
virtual double getAssetPrize () const =0
 returns the prize of asset More...
 
virtual SmartPointer< ir::CurvegetDiscountingCurve () const =0
 returns discounting curve More...
 
virtual SmartPointer< ir::CurvegetDividendCurve () const =0
 returns dividend curve More...
 
virtual void setDate (Date &date)=0
 sets the market date More...
 
virtual void setAssetPrize (double prize)=0
 sets asset prize More...
 
virtual void bumpAssetPrize (double h)=0
 bump asset prize additively More...
 
virtual void bumpVolatility (double h)=0
 bump volatility additively More...
 
virtual double prizeAnalytically (const EuropeanOpt &opt) const =0
 prize EuropeanOpt analytically More...
 
virtual ~MarketModel ()
 destructor More...
 

Detailed Description

template<typename T>
class julian::DeeplyCopyableMarketModel< T >

Class uses Curiously Recurring Template Pattern to implement polymorphic copy construction in every derived class implementing MarketModel.

For more details see Virtual Copy Constructor, CRTP and Deep Copy

Member Function Documentation

template<typename T>
virtual MarketModel* julian::DeeplyCopyableMarketModel< T >::clone ( ) const
inlinevirtual

virtual copy constructor

Implements julian::MarketModel.


The documentation for this class was generated from the following file: