ExchangeRateManager Class Reference

#include <ql/currencies/exchangeratemanager.hpp>

Inheritance diagram for ExchangeRateManager:

Inheritance graph
[legend]
List of all members.

Detailed Description

exchange-rate repository

Tests:
lookup of direct, triangulated, and derived exchange rates is tested.


Public Member Functions

void add (const ExchangeRate &, const Date &startDate=Date::minDate(), const Date &endDate=Date::maxDate())
 Add an exchange rate.
ExchangeRate lookup (const Currency &source, const Currency &target, Date date=Date(), ExchangeRate::Type type=ExchangeRate::Derived) const
void clear ()
 remove the added exchange rates

Friends

class Singleton< ExchangeRateManager >


Member Function Documentation

void add ( const ExchangeRate ,
const Date startDate = Date::minDate(),
const Date endDate = Date::maxDate() 
)

Add an exchange rate.

The given rate is valid between the given dates.

Note:
If two rates are given between the same currencies and with overlapping date ranges, the latest one added takes precedence during lookup.

ExchangeRate lookup ( const Currency source,
const Currency target,
Date  date = Date(),
ExchangeRate::Type  type = ExchangeRate::Derived 
) const

Lookup the exchange rate between two currencies at a given date. If the given type is Direct, only direct exchange rates will be returned if available; if Derived, direct rates are still preferred but derived rates are allowed.

Warning:
if two or more exchange-rate chains are possible which allow to specify a requested rate, it is unspecified which one is returned.