marian::DCAbstractPricerFactory< T > Class Template Reference

Deeply copyable AbstractPricerFactory. More...

#include <pricerAbstractFactory.hpp>

Inheritance diagram for marian::DCAbstractPricerFactory< T >:
marian::AbstractPricerFactory

Public Member Functions

virtual AbstractPricerFactoryclone () const
 Virtual copy constructor.
 
- Public Member Functions inherited from marian::AbstractPricerFactory
 AbstractPricerFactory ()
 Default constructor.
 
virtual std::vector< SmartPointer< BoundaryCondition > > getBoundarySpotConditions (Market mkt, double low, double upp)=0
 Returns boundary conditions. More...
 
virtual std::vector< double > initialCondition (const std::vector< double > &)=0
 Calculates initial condition for a given vector of spots.
 
virtual double lowerSpotLmt ()=0
 Returns lower boundary level.
 
virtual double upperSpotLmt ()=0
 Returns upper boundary level.
 
virtual double getConcentrationPoint ()=0
 Returns concentration point used by non-uniform grid builders.
 
virtual ~AbstractPricerFactory ()
 destructor
 

Detailed Description

template<typename T>
class marian::DCAbstractPricerFactory< T >

Class implements Curiously Recurring Template Pattern (see Wikipedia site).

When using polymorphism, one sometimes needs to create copies of objects by the base class pointer. A commonly used idiom for this is adding a virtual clone function that is defined in every derived class. The CRTP can be used to avoid having to duplicate that function or other similar functions in every derived class.

For more information about virtual copy constructor see [14]


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