24#ifndef quantlib_path_payoff_hpp
25#define quantlib_path_payoff_hpp
45 virtual std::string
name()
const = 0;
65 std::vector<Array> & states)
const = 0;
89 QL_FAIL(
"not a path-payoff visitor");
degenerate base class for the Acyclic Visitor pattern
1-D array used in linear algebra.
Shared handle to an observable.
Matrix used in linear algebra.
Abstract base class for path-dependent option payoffs.
virtual Size basisSystemDimension() const =0
virtual void accept(AcyclicVisitor &)
virtual ~PathPayoff()=default
virtual std::string description() const =0
virtual std::string name() const =0
virtual void value(const Matrix &path, const std::vector< Handle< YieldTermStructure > > &forwardTermStructures, Array &payments, Array &exercises, std::vector< Array > &states) const =0
Visitor for a specific class
virtual void visit(T &)=0
#define QL_FAIL(message)
throw an error (possibly with file and line information)
std::size_t Size
size of a container
Globally accessible relinkable pointer.
matrix used in linear algebra.
ext::shared_ptr< BlackVolTermStructure > v
degenerate base class for the Acyclic Visitor pattern
Interest-rate term structure.