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

Protected Types | Protected Attributes
MarketModelComposite Class Reference

Composition of two or more market-model products. More...

`#include <ql/models/marketmodels/products/compositeproduct.hpp>`

Inheritance diagram for MarketModelComposite:
[legend]

List of all members.

## Public Member Functions

MarketModelMultiProduct interface
const EvolutionDescription & | evolution () const
std::vector< Size > | suggestedNumeraires () const
std::vector< Time > | possibleCashFlowTimes () const
void | reset ()
| during simulation put product at start of path
Composite facilities
void | add (const Clone< MarketModelMultiProduct > &, Real multiplier=1.0)
void | subtract (const Clone< MarketModelMultiProduct > &, Real multiplier=1.0)
void | finalize ()
Size | size () const
const MarketModelMultiProduct & | item (Size i) const
MarketModelMultiProduct & | item (Size i)
Real | multiplier (Size i) const

## Protected Types

typedef std::vector < SubProduct >::iterator | iterator
typedef std::vector < SubProduct >::const_iterator | const_iterator

## Protected Attributes

std::vector< SubProduct > | components_
std::vector< Time > | rateTimes_
std::vector< Time > | evolutionTimes_
EvolutionDescription | evolution_
bool | finalized_
Size | currentIndex_
std::vector< Time > | cashflowTimes_
std::vector< std::vector< Time > > | allEvolutionTimes_
std::vector< std::valarray < bool > > | isInSubset_

## Detailed Description

Composition of two or more market-model products.

Instances of this class build a market-model product by composing one or more subproducts.

Precondition:
  All subproducts must have the same rate times.