BDE 4.14.0 Production release
|
#include <bbldc_daterangedaycount.h>
Public Member Functions | |
virtual | ~DateRangeDayCount () |
Destroy this object. | |
virtual int | daysDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate) const =0 |
virtual const bdlt::Date & | firstDate () const =0 |
virtual const bdlt::Date & | lastDate () const =0 |
virtual double | yearsDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate) const =0 |
This class
provides a protocol for determining values based on dates according to derived implementations of specific day-count conventions. The methods firstDate
and lastDate
define a date range for which calculations are valid, to reflect the valid range of, say, a calendar required for the computations.
|
virtual |
|
pure virtual |
Return the (signed) number of days between the specified beginDate
and endDate
. If beginDate <= endDate
, then the result is non-negative. The behavior is undefined unless firstDate() <= beginDate <= lastDate()
and firstDate() <= endDate <= lastDate()
. Note that reversing the order of beginDate
and endDate
negates the result.
Implemented in bbldc::BasicDateRangeDayCountAdapter< CONVENTION >, bbldc::CalendarDateRangeDayCountAdapter< CONVENTION >, bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >, and bbldc::TerminatedDateRangeDayCountAdapter< CONVENTION >.
|
pure virtual |
Return a reference providing non-modifiable access to the earliest date in the valid range of this day-count convention.
Implemented in bbldc::BasicDateRangeDayCountAdapter< CONVENTION >, bbldc::CalendarDateRangeDayCountAdapter< CONVENTION >, bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >, and bbldc::TerminatedDateRangeDayCountAdapter< CONVENTION >.
|
pure virtual |
Return a reference providing non-modifiable access to the latest date in the valid range of this day-count convention.
Implemented in bbldc::BasicDateRangeDayCountAdapter< CONVENTION >, bbldc::CalendarDateRangeDayCountAdapter< CONVENTION >, bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >, and bbldc::TerminatedDateRangeDayCountAdapter< CONVENTION >.
|
pure virtual |
Return the (signed fractional) number of years between the specified beginDate
and endDate
. If beginDate <= endDate
, then the result is non-negative. The behavior is undefined unless firstDate() <= beginDate <= lastDate()
and firstDate() <= endDate <= lastDate()
. Note that reversing the order of beginDate
and endDate
negates the result; specifically, |yearsDiff(b, e) + yearsDiff(e, b)| <= 1.0e-15
for all dates b
and e
.
Implemented in bbldc::BasicDateRangeDayCountAdapter< CONVENTION >, bbldc::CalendarDateRangeDayCountAdapter< CONVENTION >, bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >, and bbldc::TerminatedDateRangeDayCountAdapter< CONVENTION >.