BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bbldc::CalendarDayCountUtil Struct Reference

#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)
 

Detailed Description

This struct provides a namespace for a suite of pure functions that compute values based on dates according to enumerated day-count conventions.

Member Function Documentation

◆ daysDiff()

static int bbldc::CalendarDayCountUtil::daysDiff ( const bdlt::Date beginDate,
const bdlt::Date endDate,
const bdlt::Calendar calendar,
DayCountConvention::Enum  convention 
)
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.

◆ isSupported()

static bool bbldc::CalendarDayCountUtil::isSupported ( DayCountConvention::Enum  convention)
static

Return true if the specified convention is valid for use in daysDiff and yearsDiff, and false otherwise.

◆ yearsDiff()

static double bbldc::CalendarDayCountUtil::yearsDiff ( const bdlt::Date beginDate,
const bdlt::Date endDate,
const bdlt::Calendar calendar,
DayCountConvention::Enum  convention 
)
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.


The documentation for this struct was generated from the following file: