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

Public Member Functions
IndexedCashFlow Class Reference

Cash flow dependent on an index ratio. More...

`#include <ql/cashflows/indexedcashflow.hpp>`

Inheritance diagram for IndexedCashFlow:
[legend]

List of all members.

## Public Member Functions

| IndexedCashFlow (Real notional, const boost::shared_ptr< Index > &index, const Date &baseDate, const Date &fixingDate, const Date &paymentDate, bool growthOnly=false)
virtual Real | notional () const
virtual Date | baseDate () const
virtual Date | fixingDate () const
virtual boost::shared_ptr< Index > | index () const
virtual bool | growthOnly () const
Event interface
Date | date () const
CashFlow interface
Real | amount () const
| returns the amount of the cash flow
Visitability
virtual void | accept (AcyclicVisitor &)
Observer interface
void | update ()

## Detailed Description

Cash flow dependent on an index ratio.

This cash flow is not a coupon, i.e., there's no accrual. The amount is either i(T)/i(0) or i(T)/i(0) - 1, depending on the growthOnly parameter.

We expect this to be used inside an instrument that does all the date adjustment etc., so this takes just dates and does not change them. growthOnly = false means i(T)/i(0), which is a bond-type setting. growthOnly = true means i(T)/i(0) - 1, which is a swap-type setting.

## Member Function Documentation

Date date | ( |  | ) | const`[virtual]`

Note:
  This is inherited from the event class

Implements CashFlow.

Real amount | ( |  | ) | const`[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.

Implements CashFlow.

Reimplemented in CPICashFlow.

void update | ( |  | ) | `[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.