21#ifndef quantlib_market_model_multi_product_hpp
22#define quantlib_market_model_multi_product_hpp
30 class EvolutionDescription;
68 std::vector<Size>& numberCashFlowsThisStep,
69 std::vector<std::vector<CashFlow> >& cashFlowsGenerated) = 0;
71 virtual std::unique_ptr<MarketModelMultiProduct>
clone()
const = 0;
Curve state for market-model simulations
Market-model evolution description.
virtual std::vector< Time > possibleCashFlowTimes() const =0
virtual Size numberOfProducts() const =0
virtual void reset()=0
during simulation put product at start of path
virtual std::unique_ptr< MarketModelMultiProduct > clone() const =0
returns a newly-allocated copy of itself
virtual std::vector< Size > suggestedNumeraires() const =0
virtual Size maxNumberOfCashFlowsPerProductPerStep() const =0
virtual ~MarketModelMultiProduct()=default
virtual const EvolutionDescription & evolution() const =0
virtual bool nextTimeStep(const CurveState ¤tState, std::vector< Size > &numberCashFlowsThisStep, std::vector< std::vector< CashFlow > > &cashFlowsGenerated)=0
return value indicates whether path is finished, TRUE means done
std::size_t Size
size of a container