new CompoundForward(today,settlement,dates,rates,
new CompoundForward(settlement,dates,rates,
    void initialize() {        // data        calendar = Johannesburg();        settlementDays = 0;        fixingDays = 0;        today = calendar.adjust(Date::todaysDate());        // just for fun        settlement = calendar.advance(today,settlementDays,Days);        convention = ModifiedFollowing;        dayCounter = Actual365();        frequency = Semiannual;        deposits = LENGTH(depositData);        swaps = LENGTH(swapData);        // market elements        rates = std::vector<Rate>(deposits+swaps);        dates = std::vector<Date>(deposits+swaps);        Size i;        for (i=0; i<deposits; i++) {            rates[i] = depositData[i].rate/100;            dates[i] = calendar.advance(settlement,                                        Period(depositData[i].n,                                               depositData[i].units),                                        convention);        }        for (i=0; i<swaps; i++) {            rates[i+deposits] = swapData[i].rate/100;            dates[i+deposits] = calendar.advance(settlement,                                                 Period(swapData[i].n,                                                        swapData[i].units),                                                 convention);        }        termStructure = boost::shared_ptr<TermStructure>(                             new CompoundForward(today,settlement,dates,rates,                                                 calendar,convention,                                                 frequency,dayCounter));    }