DayCounter Class Reference
[Date and time calculations]

#include <ql/daycounter.hpp>

Inheritance diagram for DayCounter:

Inheritance graph
[legend]
List of all members.

Detailed Description

day counter class

This class provides methods for determining the length of a time period according to given market convention, both as a number of days and as a year fraction.

The Bridge pattern is used to provide the base behavior of the day counter.

Examples:

BermudanSwaption.cpp, ConvertibleBonds.cpp, DiscreteHedging.cpp, EquityOption.cpp, FRA.cpp, Replication.cpp, Repo.cpp, and swapvaluation.cpp.


Public Member Functions

 DayCounter ()
DayCounter interface
bool empty () const
 Returns whether or not the day counter is initialized.
std::string name () const
 Returns the name of the day counter.
BigInteger dayCount (const Date &, const Date &) const
 Returns the number of days between two dates.
Time yearFraction (const Date &, const Date &, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date()) const
 Returns the period between two dates as a fraction of year.

Protected Member Functions

 DayCounter (const boost::shared_ptr< Impl > &impl)

Protected Attributes

boost::shared_ptr< Implimpl_

Related Functions

(Note that these are not member functions.)

bool operator== (const DayCounter &, const DayCounter &)
bool operator!= (const DayCounter &, const DayCounter &)
std::ostream & operator<< (std::ostream &, const DayCounter &)

Classes

class  Impl
 abstract base class for day counter implementations More...


Constructor & Destructor Documentation

DayCounter ( const boost::shared_ptr< Impl > &  impl  )  [protected]

This constructor can be invoked by derived classes which define a given implementation.

DayCounter (  ) 

The default constructor returns a day counter with a null implementation, which is therefore unusable except as a placeholder.


Member Function Documentation

std::string name (  )  const

Returns the name of the day counter.

Warning:
This method is used for output and comparison between day counters. It is not meant to be used for writing switch-on-type code.


Friends And Related Function Documentation

bool operator== ( const DayCounter ,
const DayCounter  
) [related]

Returns true iff the two day counters belong to the same derived class.

bool operator!= ( const DayCounter ,
const DayCounter  
) [related]

std::ostream & operator<< ( std::ostream &  ,
const DayCounter  
) [related]