Quick Links: |
#include <bbldc_perioddaterangedaycountadapter.h>
Public Member Functions | |
PeriodDateRangeDayCountAdapter (const bsl::vector< bdlt::Date > &periodDate, double periodYearDiff, bslma::Allocator *basicAllocator=0) | |
PeriodDateRangeDayCountAdapter (const std::vector< bdlt::Date > &periodDate, double periodYearDiff, bslma::Allocator *basicAllocator=0) | |
virtual | ~PeriodDateRangeDayCountAdapter () |
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 |
bslma::Allocator * | allocator () const |
This class
provides an "adapter" from the specified CONVENTION
, that requires a set of periods to compute the year fraction, to the bbldc::DateRangeDayCount
protocol that can be used for determining values based on dates according to the day-count CONVENTION
.
See Component bbldc_perioddaterangedaycountadapter
bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::PeriodDateRangeDayCountAdapter | ( | const bsl::vector< bdlt::Date > & | periodDate, | |
double | periodYearDiff, | |||
bslma::Allocator * | basicAllocator = 0 | |||
) |
bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::PeriodDateRangeDayCountAdapter | ( | const std::vector< bdlt::Date > & | periodDate, | |
double | periodYearDiff, | |||
bslma::Allocator * | basicAllocator = 0 | |||
) |
Create a day-count adapter that uses the specified periodDate
and periodYearDiff
during invocations of yearsDiff
. periodDate
provides the period starting dates and periodYearDiff
defines the duration of each period (e.g., 0.25 for quarterly periods). Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used. The behavior is undefined unless periodDate.size() >= 2
and the values contained in periodDate
are unique and sorted from minimum to maximum.
virtual bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::~PeriodDateRangeDayCountAdapter | ( | ) | [virtual] |
Destroy this object.
int bbldc::PeriodDateRangeDayCountAdapter< 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::PeriodDateRangeDayCountAdapter< CONVENTION >::firstDate | ( | ) | const [virtual] |
Return a reference providing non-modifiable access to periodDate.front()
for the periodDate
provided at construction. Note that this value is the earliest date in the valid range of this day-count convention adaptation.
Implements bbldc::DateRangeDayCount.
const bdlt::Date& bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::lastDate | ( | ) | const [virtual] |
Return a reference providing non-modifiable access to periodDate.back()
for the periodDate
provided at construction. Note that this value is the latest date in the valid range of this day-count convention adaptation.
Implements bbldc::DateRangeDayCount.
double bbldc::PeriodDateRangeDayCountAdapter< 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. The behavior is undefined unless, for the periodDate
provided at construction, periodDate.front() <= beginDate <= periodDate.back()
and periodDate.front() <= endDate <= periodDate.back()
. 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.
bslma::Allocator* bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::allocator | ( | ) | const |
Return the allocator used by this adapter to supply memory.