[#BloombergLP-bdlt-CalendarReverseIteratorAdapter]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlt.adoc[bdlt]::CalendarReverseIteratorAdapter
:relfileprefix: ../../
:mrdocs:

This reverse iterator adapter provides a subset of the `bsl&colon;&colon;reverse&lowbar;iterator` interface that can be used with the calendar iterators defined in `bdlt`&period; Specifically, the types `value&lowbar;type`, `difference&lowbar;type`, `pointer`, and `reference` are defined but `iterator&lowbar;category` is not defined (since this is not a fully&hyphen;compliant iterator)&period; Furthermore, the methods appropriate for random&hyphen;access iterators are not included (e&period;g&period;, `operator&plus;&equals;`)&period;

== Synopsis

Declared in `&lt;bdlt&lowbar;calendarreverseiteratoradapter&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class ITERATOR&gt;
class CalendarReverseIteratorAdapter;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/difference_type.adoc[`difference&lowbar;type`] 
| Iterator difference type&period;
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/pointer.adoc[`pointer`] 
| Iterator pointer type&period;
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/reference.adoc[`reference`] 
| Iterator reference type&period;
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/value_type.adoc[`value&lowbar;type`] 
| Iterator value type&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/2constructor-09.adoc[`CalendarReverseIteratorAdapter`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/2destructor.adoc[`&#126;CalendarReverseIteratorAdapter`] [.small]#[destructor]#
| Destroy this object&period;
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/operator_assign-03.adoc[`operator&equals;`] 
| Assignment operators
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/forwardIterator.adoc[`forwardIterator`] 
| Return the forward iterator referring to the element in the forward sequence after the element referred to by this reverse iterator&period;
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/operator_star.adoc[`operator&ast;`] 
| Return a reference to the element referred to by this reverse iterator&period; The behavior is undefined unless this iterator is within the bounds of the underlying sequence&period;
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/operator_inc.adoc[`operator&plus;&plus;`] 
| Modify this reverse iterator to refer to the next element in the reverse iteration sequence, and return a reference providing modifiable access to this reverse iterator&period; The behavior is undefined unless, on entry, this reverse iterator does not have the past&hyphen;the&hyphen;end value for a reverse iterator over the underlying sequence&period;
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/operator_dec.adoc[`operator&hyphen;&hyphen;`] 
| Modify this reverse iterator to refer to the previous element in the reverse iteration sequence, and return a reference providing modifiable access to this reverse iterator&period; The behavior is undefined unless, on entry, this reverse iterator does not have the same value as a reverse iterator at the start of the underlying sequence&period;
| xref:BloombergLP/bdlt/CalendarReverseIteratorAdapter/operator_ptr.adoc[`operator&hyphen;&gt;`] 
| Return a pointer to the element referred to by this reverse iterator&period; The behavior is undefined unless this iterator is within the bounds of the underlying sequence&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlt/operator_not_eq-080.adoc[`operator!&equals;`]
| Return `true` if the specified `lhs` reverse iterator does not have the same value as the specified `rhs` reverse iterator, and `false` otherwise&period; Two reverse iterators do not have the same value if (1) they do not refer to the same element and (2) both do not have the past&hyphen;the&hyphen;end value for a reverse iterator over the underlying reverse iteration sequence&period; The behavior is undefined unless `lhs` and `rhs` refer to the same underlying sequence&period;
| xref:BloombergLP/bdlt/operator_inc-0a2.adoc[`operator&plus;&plus;`]
| Modify the specified `iterator` to refer to the next element in the reverse iteration sequence, and return a reverse iterator having the pre&hyphen;increment value of `iterator`&period; The behavior is undefined unless, on entry, `iterator` does not have the past&hyphen;the&hyphen;end value for a reverse iterator over the underlying sequence&period;
| xref:BloombergLP/bdlt/operator_dec-04.adoc[`operator&hyphen;&hyphen;`]
| Modify the specified `iterator` to refer to the previous element in the reverse iteration sequence, and return a reverse iterator having the pre&hyphen;decrement value of `iterator`&period; The behavior is undefined unless, on entry, `iterator` does not have the same value as a reverse iterator to the start of the underlying sequence&period;
| xref:BloombergLP/bdlt/operator_eq-08b5.adoc[`operator&equals;&equals;`]
| Return `true` if the specified `lhs` reverse iterator has the same value as the specified `rhs` reverse iterator, and `false` otherwise&period; Two reverse iterators have the same value if they refer to the same element, or both have the past&hyphen;the&hyphen;end value for a reverse iterator over the underlying reverse iteration sequence&period; The behavior is undefined unless `lhs` and `rhs` refer to the same underlying sequence&period;
|===


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