Quick Links:

bal | bbl | bdl | bsl

Public Member Functions

bbldc::CalendarDateRangeDayCountAdapter< CONVENTION > Class Template Reference

#include <bbldc_calendardaterangedaycountadapter.h>

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

List of all members.

Public Member Functions

 CalendarDateRangeDayCountAdapter (const bdlt::Calendar &calendar, bslma::Allocator *basicAllocator=0)
virtual ~CalendarDateRangeDayCountAdapter ()
int daysDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate) const
const bdlt::DatefirstDate () const
const bdlt::DatelastDate () const
double yearsDiff (const bdlt::Date &beginDate, const bdlt::Date &endDate) const
bslma::Allocatorallocator () const

Detailed Description

template<class CONVENTION>
class bbldc::CalendarDateRangeDayCountAdapter< CONVENTION >

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.

See Component bbldc_calendardaterangedaycountadapter


Constructor & Destructor Documentation

template<class CONVENTION>
bbldc::CalendarDateRangeDayCountAdapter< CONVENTION >::CalendarDateRangeDayCountAdapter ( const bdlt::Calendar calendar,
bslma::Allocator basicAllocator = 0 
)

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.

template<class CONVENTION>
virtual bbldc::CalendarDateRangeDayCountAdapter< CONVENTION >::~CalendarDateRangeDayCountAdapter (  )  [virtual]

Destroy this object.


Member Function Documentation

template<class CONVENTION>
int bbldc::CalendarDateRangeDayCountAdapter< 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. 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.

Implements bbldc::DateRangeDayCount.

template<class CONVENTION>
const bdlt::Date& bbldc::CalendarDateRangeDayCountAdapter< CONVENTION >::firstDate (  )  const [virtual]

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.

template<class CONVENTION>
const bdlt::Date& bbldc::CalendarDateRangeDayCountAdapter< CONVENTION >::lastDate (  )  const [virtual]

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.

template<class CONVENTION>
double bbldc::CalendarDateRangeDayCountAdapter< 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 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.

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

Return the allocator used by this adapter to supply memory.


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