Quick Links: |
#include <bbldc_terminateddaterangedaycountadapter.h>
Public Member Functions | |
TerminatedDateRangeDayCountAdapter (const bdlt::Date &terminationDate) | |
virtual | ~TerminatedDateRangeDayCountAdapter () |
int | daysDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate) const |
const bdlt::Date & | firstDate () const |
const bdlt::Date & | lastDate () const |
double | yearsDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate) const |
This class
provides an "adapter" from the specified CONVENTION
to the bbldc::DateRangeDayCount
protocol that can be used for determining values based on dates according to the day-count CONVENTION
.
See Component bbldc_terminateddaterangedaycountadapter
bbldc::TerminatedDateRangeDayCountAdapter< CONVENTION >::TerminatedDateRangeDayCountAdapter | ( | const bdlt::Date & | terminationDate | ) |
Create a day-count adapter that uses the specified terminationDate
during.
virtual bbldc::TerminatedDateRangeDayCountAdapter< CONVENTION >::~TerminatedDateRangeDayCountAdapter | ( | ) | [virtual] |
Destroy this object.
int bbldc::TerminatedDateRangeDayCountAdapter< CONVENTION >::daysDiff | ( | const bdlt::Date & | beginDate, | |
const bdlt::Date & | endDate | |||
) | const [virtual] |
Return the (signed) number of days between the specified beginDate
and endDate
as per the CONVENTION
template policy. If beginDate <= endDate
, then the result is non-negative. Note that reversing the order of beginDate
and endDate
negates the result.
Implements bbldc::DateRangeDayCount.
const bdlt::Date& bbldc::TerminatedDateRangeDayCountAdapter< CONVENTION >::firstDate | ( | ) | const [virtual] |
Return a reference providing non-modifiable access to a bdlt::Date
with the value 1/1/1. Note that this value is the earliest date in the valid range of the adapted day-count convention.
Implements bbldc::DateRangeDayCount.
const bdlt::Date& bbldc::TerminatedDateRangeDayCountAdapter< CONVENTION >::lastDate | ( | ) | const [virtual] |
Return a reference providing non-modifiable access to a bdlt::Date
with the value 9999/12/31. Note that this value is the latest date in the valid range of the adapted day-count convention.
Implements bbldc::DateRangeDayCount.
double bbldc::TerminatedDateRangeDayCountAdapter< CONVENTION >::yearsDiff | ( | const bdlt::Date & | beginDate, | |
const bdlt::Date & | endDate | |||
) | const [virtual] |
Return the (signed fractional) number of years between the specified beginDate
and endDate
as per the CONVENTION
template policy. If beginDate <= endDate
, then the result is non-negative. 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
.
Implements bbldc::DateRangeDayCount.