BDE 4.14.0 Production release
|
#include <bbldc_calendardaterangedaycountadapter.h>
Public Member Functions | |
CalendarDateRangeDayCountAdapter (const bdlt::Calendar &calendar, bslma::Allocator *basicAllocator=0) | |
~CalendarDateRangeDayCountAdapter () BSLS_KEYWORD_OVERRIDE | |
Destroy this object. | |
int | daysDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate) const BSLS_KEYWORD_OVERRIDE |
const bdlt::Date & | firstDate () const BSLS_KEYWORD_OVERRIDE |
const bdlt::Date & | lastDate () const BSLS_KEYWORD_OVERRIDE |
double | yearsDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate) const BSLS_KEYWORD_OVERRIDE |
bslma::Allocator * | allocator () const |
Return the allocator used by this adapter to supply memory. | |
Public Member Functions inherited from bbldc::DateRangeDayCount | |
virtual | ~DateRangeDayCount () |
Destroy this object. | |
This class
provides an "adapter" from the specified CONVENTION
, that requires a calendar to compute the day count and the year fraction, to the bbldc::DateRangeDayCount
protocol that can be used for determining values based on dates according to the day-count CONVENTION
.
|
inline |
Create a day-count adapter that uses the specified calendar
during invocations of daysDiff
and yearsDiff
. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
|
inline |
|
inline |
|
inlinevirtual |
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.
Implements bbldc::DateRangeDayCount.
|
inlinevirtual |
Return a reference providing non-modifiable access to calendar.firstDate()
for the calendar
provided at construction. Note that this value is the earliest date in the valid range of this day-count convention adaptation.
Implements bbldc::DateRangeDayCount.
|
inlinevirtual |
Return a reference providing non-modifiable access to calendar.lastDate()
for the calendar
provided at construction. Note that this value is the latest date in the valid range of this day-count convention adaptation.
Implements bbldc::DateRangeDayCount.
|
inlinevirtual |
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. The behavior is undefined unless, for the calendar
provided at construction, calendar.firstDate() <= beginDate <= calendar.lastDate()
and calendar.firstDate() <= endDate <= calendar.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
.
Implements bbldc::DateRangeDayCount.