BDE 4.14.0 Production release
|
#include <bbldc_calendardaycountutil.h>
Static Public Member Functions | |
static int | daysDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate, const bdlt::Calendar &calendar, DayCountConvention::Enum convention) |
static bool | isSupported (DayCountConvention::Enum convention) |
static double | yearsDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate, const bdlt::Calendar &calendar, DayCountConvention::Enum convention) |
This struct
provides a namespace for a suite of pure functions that compute values based on dates according to enumerated day-count conventions.
|
static |
Return the (signed) number of days between the specified beginDate
and endDate
according to the specified day-count convention
with the specified calendar
providing the definition of business days. If beginDate <= endDate
then the result is non-negative. The behavior is undefined unless isSupported(convention)
, calendar.isInRange(beginDate)
, and calendar.isInRange(endDate)
. Note that reversing the order of beginDate
and endDate
negates the result and that the result is 0 when beginDate == endDate
.
|
static |
Return true
if the specified convention
is valid for use in daysDiff
and yearsDiff
, and false
otherwise.
|
static |
Return the (signed fractional) number of years between the specified beginDate
and endDate
according to the specified day-count convention
with the specified calendar
providing the definition of business days. If beginDate <= endDate
then the result is non-negative. The behavior is undefined unless isSupported(convention)
, calendar.isInRange(beginDate)
, and calendar.isInRange(endDate)
. Note that reversing the order of beginDate
and endDate
negates the result; specifically, |yearsDiff(b, e, cal, c) + yearsDiff(e, b, cal, c)| <= 1.0e-15
for all calendars cal
, valid dates b
and e
, and day-count conventions c
.