GenericModelEngine< ModelType, ArgumentsType, ResultsType > Class Template Reference

Base class for some pricing engine on a particular model. More...

`#include <ql/pricingengines/genericmodelengine.hpp>`

Inheritance diagram for GenericModelEngine< ModelType, ArgumentsType, ResultsType >:
[legend]

## Public Member Functions

| GenericModelEngine (const Handle< ModelType > &model=Handle< ModelType >())
| GenericModelEngine (const ext::shared_ptr< ModelType > &model)
Public Member Functions inherited from GenericEngine< ArgumentsType, ResultsType >
PricingEngine::arguments * | getArguments () const
const PricingEngine::results * | getResults () const
void | reset ()
void | update ()
Public Member Functions inherited from PricingEngine
virtual void | calculate () const =0
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &)
void | registerWithObservables (const ext::shared_ptr< Observer > &)
Size | unregisterWith (const ext::shared_ptr< Observable > &)
void | unregisterWithAll ()
virtual void | deepUpdate ()

## Protected Attributes

Handle< ModelType > | model_
Protected Attributes inherited from GenericEngine< ArgumentsType, ResultsType >
ArgumentsType | arguments_
ResultsType | results_

## Additional Inherited Members

Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator

## Detailed Description

### template<class ModelType, class ArgumentsType, class ResultsType>
class QuantLib::GenericModelEngine< ModelType, ArgumentsType, ResultsType >

Base class for some pricing engine on a particular model.

Derived engines only need to implement the `calculate()` method