25#ifndef quantlib_dividend_hpp
26#define quantlib_dividend_hpp
28#include <ql/cashflow.hpp>
29#include <ql/utilities/null.hpp>
101 std::vector<ext::shared_ptr<Dividend> >
103 const std::vector<Real>& dividends);
degenerate base class for the Acyclic Visitor pattern
Base class for cash flows.
Dividend(const Date &date)
virtual Real amount(Real underlying) const =0
void accept(AcyclicVisitor &) override
Real amount() const override=0
returns the amount of the cash flow
Date date() const override
FixedDividend(Real amount, const Date &date)
Real amount() const override
returns the amount of the cash flow
Real amount(Real) const override
FractionalDividend(Real rate, const Date &date)
Real amount() const override
returns the amount of the cash flow
Real amount(Real underlying) const override
FractionalDividend(Real rate, Real nominal, const Date &date)
template class providing a null value for a given type.
std::vector< ext::shared_ptr< Dividend > > DividendVector(const std::vector< Date > ÷ndDates, const std::vector< Real > ÷nds)
helper function building a sequence of fixed dividends