template base class for option pricing engines More...
#include <ql/pricingengine.hpp>
Public Member Functions | |
PricingEngine::arguments * | getArguments () const |
const PricingEngine::results * | getResults () const |
void | reset () |
void | update () |
![]() | |
virtual void | calculate () const =0 |
![]() | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
void | notifyObservers () |
![]() | |
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 | |
ArgumentsType | arguments_ |
ResultsType | results_ |
Additional Inherited Members | |
![]() | |
typedef boost::unordered_set< ext::shared_ptr< Observable > > | set_type |
typedef set_type::iterator | iterator |
template base class for option pricing engines
Derived engines only need to implement the calculate()
method.
|
virtual |
This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.
Implements Observer.
Reimplemented in LatticeShortRateModelEngine< CapFloor::arguments, CapFloor::results >, LatticeShortRateModelEngine< VanillaSwap::arguments, VanillaSwap::results >, LatticeShortRateModelEngine< Swaption::arguments, Swaption::results >, and LatticeShortRateModelEngine< CallableBond::arguments, CallableBond::results >.