[#BloombergLP-bdlt-PackedCalendar_HolidayConstIterator] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlt.adoc[bdlt]::PackedCalendar_HolidayConstIterator :relfileprefix: ../../ :mrdocs: Provide read‐only, sequential access in increasing (chronological) order to the holidays in a `PackedCalendar` object. This class owns an iterator into the `bdlc::PackedIntArray` storing the holiday offsets of the referenced `bdlt::PackedCalendar` and a date, `d_firstDate`, to convert the offsets into dates corresponding to holidays. == Synopsis Declared in `<bdlt_packedcalendar.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class PackedCalendar_HolidayConstIterator; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/difference_type.adoc[`difference_type`] | Iterator difference type. | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/iterator_category.adoc[`iterator_category`] | Iterator category for this holiday iterator. | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/pointer.adoc[`pointer`] | Iterator pointer type. | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/reference.adoc[`reference`] | The star operator returns a `PackedCalendar_DateRef` _by_ _value_. | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/value_type.adoc[`value_type`] | Iterator value type. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/2constructor-0d.adoc[`PackedCalendar_HolidayConstIterator`] [.small]#[constructor]# | Create an iterator having the value of the specified `original` iterator. | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/2destructor.adoc[`~PackedCalendar_HolidayConstIterator`] [.small]#[destructor]# | Destroy this object. | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/operator_assign.adoc[`operator=`] | Assign to this iterator the value of the specified `rhs` iterator, and return a reference providing modifiable access to this object. | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/operator_star.adoc[`operator*`] | Return a `PackedCalendar_DateRef` object that contains the date value of the holiday referenced by this iterator. | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/operator_inc.adoc[`operator++`] | Advance this iterator to refer to the next holiday in the calendar, and return a reference providing modifiable access to this object. The behavior is undefined unless, on entry, this iterator references a valid holiday. | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/operator_dec.adoc[`operator‐‐`] | Regress this iterator to refer to the previous holiday in the calendar, and return a reference providing modifiable access to this object. The behavior is undefined unless, on entry, this iterator references a valid holiday that is not the first holiday in the associated calendar. | xref:BloombergLP/bdlt/PackedCalendar_HolidayConstIterator/operator_ptr.adoc[`operator‐>`] | Return a date proxy for the holiday referenced by this iterator. |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bdlt/operator_not_eq-093.adoc[BloombergLP::bdlt::operator!=]` | Return `true` if the specified `lhs` and `rhs` iterators do not refer to the same element in the same calendar, and `false` otherwise. The behavior is undefined unless `lhs` and `rhs` both iterate over the same calendar. | `xref:BloombergLP/bdlt/operator_eq-050.adoc[BloombergLP::bdlt::operator==]` | Return `true` if the specified `lhs` and `rhs` iterators refer to the same element in the same calendar, and `false` otherwise. The behavior is undefined unless `lhs` and `rhs` both iterate over the same calendar. | `xref:BloombergLP/bdlt/PackedCalendar.adoc[BloombergLP::bdlt::PackedCalendar]` | This class implements a space‐efficient, value‐semantic repository of weekend and holiday information over a _valid_ _range_ of dates. This valid range, `[firstDate() .. lastDate()]`, spans the first and last dates of a calendar's accessible contents. A calendar can be "populated" with weekend and holiday information via a suite of "add" methods. Any subset of days of the week may be specified as weekend (i.e., recurring non‐business) days starting from a specified date by adding a weekend‐days transition; holidays within the valid range are specified individually. When adding a holiday, an arbitrary integer "holiday code" may be associated with that date. Additional holiday codes for that date may subsequently be added. Both the holidays and the set of unique holiday codes associated with each holiday date are maintained (internally) in order of increasing value. Note that the behavior of requesting _any_ calendar information for a supplied date whose value is outside the current _valid_ _range_ for that calendar (unless otherwise noted, e.g., `isWeekendDay`) is undefined. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlt/operator_inc-09c.adoc[`operator++`] | Advance the specified `iterator` to refer to the next holiday in the associated calendar, and return the previous value of `iterator`. The behavior is undefined unless, on entry, `iterator` references a valid holiday. | xref:BloombergLP/bdlt/operator_dec-0e.adoc[`operator‐‐`] | Regress the specified `iterator` to refer to the previous holiday in the associated calendar, and return the previous value of `iterator`. The behavior is undefined unless, on entry, `iterator` references a valid holiday that is not the first holiday in the associated calendar. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#