BDE 4.14.0 Production release
Loading...
Searching...
No Matches
bbldc::PeriodDateRangeDayCountAdapter< CONVENTION > Class Template Reference

#include <bbldc_perioddaterangedaycountadapter.h>

Inheritance diagram for bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >:
bbldc::DateRangeDayCount

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)
 
 ~PeriodDateRangeDayCountAdapter () BSLS_KEYWORD_OVERRIDE
 Destroy this object.
 
int daysDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate) const BSLS_KEYWORD_OVERRIDE
 
const bdlt::DatefirstDate () const BSLS_KEYWORD_OVERRIDE
 
const bdlt::DatelastDate () const BSLS_KEYWORD_OVERRIDE
 
double yearsDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate) const BSLS_KEYWORD_OVERRIDE
 
bslma::Allocatorallocator () const
 Return the allocator used by this adapter to supply memory.
 
- Public Member Functions inherited from bbldc::DateRangeDayCount
virtual ~DateRangeDayCount ()
 Destroy this object.
 

Detailed Description

template<class CONVENTION>
class bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >

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 bbldc_perioddaterangedaycountadapter

Constructor & Destructor Documentation

◆ PeriodDateRangeDayCountAdapter() [1/2]

template<class CONVENTION >
bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::PeriodDateRangeDayCountAdapter ( const bsl::vector< bdlt::Date > &  periodDate,
double  periodYearDiff,
bslma::Allocator basicAllocator = 0 
)
inline

◆ PeriodDateRangeDayCountAdapter() [2/2]

template<class CONVENTION >
bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::PeriodDateRangeDayCountAdapter ( const std::vector< bdlt::Date > &  periodDate,
double  periodYearDiff,
bslma::Allocator basicAllocator = 0 
)
inline

◆ ~PeriodDateRangeDayCountAdapter()

template<class CONVENTION >
bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::~PeriodDateRangeDayCountAdapter ( )
inline

Member Function Documentation

◆ allocator()

template<class CONVENTION >
bslma::Allocator * bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::allocator ( ) const
inline

◆ daysDiff()

template<class CONVENTION >
int bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::daysDiff ( const bdlt::Date beginDate,
const bdlt::Date endDate 
) const
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.

◆ firstDate()

template<class CONVENTION >
const bdlt::Date & bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::firstDate ( ) const
inlinevirtual

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.

◆ lastDate()

template<class CONVENTION >
const bdlt::Date & bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::lastDate ( ) const
inlinevirtual

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.

◆ yearsDiff()

template<class CONVENTION >
double bbldc::PeriodDateRangeDayCountAdapter< CONVENTION >::yearsDiff ( const bdlt::Date beginDate,
const bdlt::Date endDate 
) const
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 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.


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