Settings Class Reference

global repository for run-time library settings More...

#include <ql/settings.hpp>

Inheritance diagram for Settings:

List of all members.

Public Member Functions

DateProxy & evaluationDate ()
 the date at which pricing is to be performed.
const DateProxy & evaluationDate () const
bool & includeReferenceDateCashFlows ()
bool includeReferenceDateCashFlows () const
boost::optional< bool > & includeTodaysCashFlows ()
boost::optional< bool > includeTodaysCashFlows () const
bool & enforcesTodaysHistoricFixings ()
bool enforcesTodaysHistoricFixings () const

Friends

class Singleton< Settings >
std::ostream & operator<< (std::ostream &, const DateProxy &)

Detailed Description

global repository for run-time library settings


Member Function Documentation

DateProxy& evaluationDate ( )

the date at which pricing is to be performed.

Client code can inspect the evaluation date, as in:

            Date d = Settings::instance().evaluationDate();

where today's date is returned if the evaluation date is set to the null date (its default value;) can set it to a new value, as in:

            Settings::instance().evaluationDate() = d;

and can register with it, as in:

            registerWith(Settings::instance().evaluationDate());

to be notified when it is set to a new value.

Warning:
a notification is not sent when the evaluation date changes for natural causes---i.e., a date was not explicitly set (which results in today's date being used for pricing) and the current date changes as the clock strikes midnight.
Examples:
BermudanSwaption.cpp, Bonds.cpp, ConvertibleBonds.cpp, EquityOption.cpp, Replication.cpp, and swapvaluation.cpp.
bool& includeReferenceDateCashFlows ( )

This flag specifies whether or not cashflows occurring on the NPV date should, by default, enter the NPV. It can be overridden locally when calling the NPV-related methods.

boost::optional<bool>& includeTodaysCashFlows ( )

If set, this flag specifies whether or not cashflows occurring on today's date should enter the NPV. When the NPV date (i.e., the date at which the cash flows are discounted) equals today's date, this flag overrides the behavior chosen for the NPV date.