calendar class More...
#include <ql/time/calendar.hpp>
Classes | |
class | Impl |
abstract base class for calendar implementations More... | |
class | OrthodoxImpl |
partial calendar implementation More... | |
class | WesternImpl |
partial calendar implementation More... | |
Public Member Functions | |
Calendar () | |
Protected Attributes | |
ext::shared_ptr< Impl > | impl_ |
Related Functions | |
(Note that these are not member functions.) | |
bool | operator== (const Calendar &, const Calendar &) |
bool | operator!= (const Calendar &, const Calendar &) |
std::ostream & | operator<< (std::ostream &, const Calendar &) |
Calendar interface | |
bool | empty () const |
Returns whether or not the calendar is initialized. | |
std::string | name () const |
Returns the name of the calendar. More... | |
const std::set< Date > & | addedHolidays () const |
const std::set< Date > & | removedHolidays () const |
bool | isBusinessDay (const Date &d) const |
bool | isHoliday (const Date &d) const |
bool | isWeekend (Weekday w) const |
bool | isEndOfMonth (const Date &d) const |
Date | endOfMonth (const Date &d) const |
last business day of the month to which the given date belongs | |
void | addHoliday (const Date &) |
void | removeHoliday (const Date &) |
std::vector< Date > | holidayList (const Date &from, const Date &to, bool includeWeekEnds=false) const |
std::vector< Date > | businessDayList (const Date &from, const Date &to) const |
Date | adjust (const Date &, BusinessDayConvention convention=Following) const |
Date | advance (const Date &, Integer n, TimeUnit unit, BusinessDayConvention convention=Following, bool endOfMonth=false) const |
Date | advance (const Date &date, const Period &period, BusinessDayConvention convention=Following, bool endOfMonth=false) const |
Date::serial_type | businessDaysBetween (const Date &from, const Date &to, bool includeFirst=true, bool includeLast=false) const |
static QL_DEPRECATED std::vector< Date > | holidayList (const Calendar &calendar, const Date &from, const Date &to, bool includeWeekEnds=false) |
calendar class
This class provides methods for determining whether a date is a business day or a holiday for a given market, and for incrementing/decrementing a date of a given number of business days.
The Bridge pattern is used to provide the base behavior of the calendar, namely, to determine whether a date is a business day.
A calendar should be defined for specific exchange holiday schedule or for general country holiday schedule. Legacy city holiday schedule calendars will be moved to the exchange/country convention.
Calendar | ( | ) |
The default constructor returns a calendar with a null implementation, which is therefore unusable except as a placeholder.
std::string name | ( | ) | const |
Returns the name of the calendar.
const std::set< Date > & addedHolidays | ( | ) | const |
Returns true
iff the date is a business day for the given market.
Returns the set of added holidays for the given calendar
const std::set< Date > & removedHolidays | ( | ) | const |
Returns the set of removed holidays for the given calendar
bool isHoliday | ( | const Date & | d | ) | const |
Returns true
iff the date is a holiday for the given market.
bool isWeekend | ( | Weekday | w | ) | const |
Returns true
iff the weekday is part of the weekend for the given market.
bool isEndOfMonth | ( | const Date & | d | ) | const |
Returns true
iff in the given market, the date is on or after the last business day for that month.
void addHoliday | ( | const Date & | ) |
Adds a date to the set of holidays for the given calendar.
void removeHoliday | ( | const Date & | ) |
Removes a date from the set of holidays for the given calendar.
|
static |
Returns the holidays between two dates.
std::vector<Date> holidayList | ( | const Date & | from, |
const Date & | to, | ||
bool | includeWeekEnds = false |
||
) | const |
Returns the holidays between two dates.
Returns the business days between two dates.
Date adjust | ( | const Date & | , |
BusinessDayConvention | convention = Following |
||
) | const |
Adjusts a non-business day to the appropriate near business day with respect to the given convention.
Date advance | ( | const Date & | , |
Integer | n, | ||
TimeUnit | unit, | ||
BusinessDayConvention | convention = Following , |
||
bool | endOfMonth = false |
||
) | const |
Advances the given date of the given number of business days and returns the result.
Date advance | ( | const Date & | date, |
const Period & | period, | ||
BusinessDayConvention | convention = Following , |
||
bool | endOfMonth = false |
||
) | const |
Advances the given date as specified by the given period and returns the result.
Date::serial_type businessDaysBetween | ( | const Date & | from, |
const Date & | to, | ||
bool | includeFirst = true , |
||
bool | includeLast = false |
||
) | const |
Calculates the number of business days between two given dates and returns the result.