[#BloombergLP-bbldc-BasicDateRangeDayCountAdapter]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bbldc.adoc[bbldc]::BasicDateRangeDayCountAdapter
:relfileprefix: ../../
:mrdocs:

This `class` provides an &quot;adapter&quot; from the specified `CONVENTION` to the `bbldc&colon;&colon;DateRangeDayCount` protocol that can be used for determining values based on dates according to the day&hyphen;count `CONVENTION`&period;

== Synopsis

Declared in `&lt;bbldc&lowbar;basicdaterangedaycountadapter&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class CONVENTION&gt;
class BasicDateRangeDayCountAdapter
    : public xref:BloombergLP/bbldc/DateRangeDayCount.adoc[DateRangeDayCount]
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/bbldc/DateRangeDayCount.adoc[DateRangeDayCount]`
| This `class` provides a protocol for determining values based on dates according to derived implementations of specific day&hyphen;count conventions&period; The methods `firstDate` and `lastDate` define a date range for which calculations are valid, to reflect the valid range of, say, a calendar required for the computations&period;
|===

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bbldc/BasicDateRangeDayCountAdapter/daysDiff.adoc[`daysDiff`]  [.small]#[virtual]#
| Return the (signed) number of days between the specified `beginDate` and `endDate` as per the `CONVENTION` template policy&period; If `beginDate &lt;&equals; endDate`, then the result is non&hyphen;negative&period; Note that reversing the order of `beginDate` and `endDate` negates the result&period;
| xref:BloombergLP/bbldc/BasicDateRangeDayCountAdapter/firstDate.adoc[`firstDate`]  [.small]#[virtual]#
| Return a reference providing non&hyphen;modifiable access to a `bdlt&colon;&colon;Date` with the value 1&sol;1&sol;1&period; Note that this value is the earliest date in the valid range of the adapted day&hyphen;count convention&period;
| xref:BloombergLP/bbldc/BasicDateRangeDayCountAdapter/lastDate.adoc[`lastDate`]  [.small]#[virtual]#
| Return a reference providing non&hyphen;modifiable access to a `bdlt&colon;&colon;Date` with the value 9999&sol;12&sol;31&period; Note that this value is the latest date in the valid range of the adapted day&hyphen;count convention&period;
| xref:BloombergLP/bbldc/BasicDateRangeDayCountAdapter/yearsDiff.adoc[`yearsDiff`]  [.small]#[virtual]#
| Return the (signed fractional) number of years between the specified `beginDate` and `endDate` as per the `CONVENTION` template policy&period; If `beginDate &lt;&equals; endDate`, then the result is non&hyphen;negative&period; Note that reversing the order of `beginDate` and `endDate` negates the result&semi; specifically, `&verbar;yearsDiff(b, e) &plus; yearsDiff(e, b)&verbar; &lt;&equals; 1&period;0e&hyphen;15` for all dates `b` and `e`&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
