|
QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
|
Base class for cash flows. More...
#include <ql/cashflow.hpp>
Public Member Functions | |
Event interface | |
| Date | date () const override=0 |
| bool | hasOccurred (const Date &refDate=Date(), ext::optional< bool > includeRefDate=ext::nullopt) const override |
| returns true if an event has already occurred before a date | |
LazyObject interface | |
| void | performCalculations () const override |
CashFlow interface | |
| virtual Real | amount () const =0 |
| returns the amount of the cash flow | |
| virtual Date | exCouponDate () const |
| returns the date that the cash flow trades exCoupon | |
| bool | tradingExCoupon (const Date &refDate=Date()) const |
| returns true if the cashflow is trading ex-coupon on the refDate | |
Visitability | |
| void | accept (AcyclicVisitor &) override |
| Public Member Functions inherited from Event | |
| Public Member Functions inherited from Observable | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| Observable (Observable &&)=delete | |
| Observable & | operator= (Observable &&)=delete |
| void | notifyObservers () |
| Public Member Functions inherited from LazyObject | |
| void | update () override |
| bool | isCalculated () const |
| void | forwardFirstNotificationOnly () |
| void | alwaysForwardNotifications () |
| void | recalculate () |
| void | freeze () |
| void | unfreeze () |
| 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 () |
Additional Inherited Members | |
| Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
| virtual void | calculate () const |
| bool | calculated_ = false |
| bool | frozen_ = false |
| bool | alwaysForward_ |
Base class for cash flows.
This class is purely virtual and acts as a base class for the actual cash flow implementations.
|
overridepure virtual |
Implements Event.
Implemented in Coupon, Dividend, IndexedCashFlow, and SimpleCashFlow.
|
overridevirtual |
returns true if an event has already occurred before a date
overloads Event::hasOccurred in order to take Settings::includeTodaysCashflows in account
Reimplemented from Event.
|
overridevirtual |
This method must implement any calculations which must be (re)done in order to calculate the desired results.
Implements LazyObject.
Reimplemented in DigitalCoupon, FixedRateCoupon, FloatingRateCoupon, IndexedCashFlow, and InflationCoupon.
|
pure virtual |
returns the amount of the cash flow
Implemented in Dividend, FixedDividend, FixedRateCoupon, FloatingRateCoupon, FractionalDividend, IndexedCashFlow, InflationCoupon, and SimpleCashFlow.
|
virtual |
returns the date that the cash flow trades exCoupon
Reimplemented in Coupon.
|
overridevirtual |
Reimplemented from Event.