CashFlow Class Reference

Base class for cash flows. More...

#include <ql/cashflow.hpp>

Inheritance diagram for CashFlow:

List of all members.

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
CashFlow interface
virtual Real amount () const =0
 returns the amount of the cash flow
Visitability
virtual void accept (AcyclicVisitor &)

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.