CashFlow Class Referenceabstract

Base class for cash flows. More...

#include <ql/cashflow.hpp>

Inheritance diagram for CashFlow:

Public Member Functions

Event interface
virtual Date date () const =0
 
bool hasOccurred (const Date &refDate=Date(), boost::optional< bool > includeRefDate=boost::none) const
 returns true if an event has already occurred before a date More...
 
CashFlow interface
virtual Real amount () const =0
 returns the amount of the cash flow More...
 
Visitability
virtual void accept (AcyclicVisitor &)
 
Event interface
Visitability
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 

Detailed Description

Base class for cash flows.

This class is purely virtual and acts as a base class for the actual cash flow implementations.

Member Function Documentation

virtual Date date ( ) const
pure virtual
Note
This is inherited from the event class

Implements Event.

Implemented in IndexedCashFlow, Coupon, Dividend, and SimpleCashFlow.

bool hasOccurred ( const Date refDate = Date(),
boost::optional< bool >  includeRefDate = boost::none 
) const
virtual

returns true if an event has already occurred before a date

overloads Event::hasOccurred in order to take QL_TODAYS_PAYMENTS in account

Reimplemented from Event.

virtual Real amount ( ) const
pure virtual

returns the amount of the cash flow

Note
The amount is not discounted, i.e., it is the actual amount paid at the cash flow date.

Implemented in CPICashFlow, FractionalDividend, IndexedCashFlow, FixedDividend, InflationCoupon, FloatingRateCoupon, FixedRateCoupon, Dividend, and SimpleCashFlow.