### A free/open-source library for quantitative finance

CashFlow Class Reference

Base class for cash flows. More...

`#include <ql/cashflow.hpp>`

Inheritance diagram for CashFlow:
[legend]

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.