[#BloombergLP-bdlcc-ObjectCatalogIter] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlcc.adoc[bdlcc]::ObjectCatalogIter :relfileprefix: ../../ :mrdocs: Thread‐safe iterator over an `ObjectCatalog` of `TYPE` objects. == Synopsis Declared in `<bdlcc_objectcatalog.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class TYPE> class ObjectCatalogIter; ---- == Description Provide thread safe iteration through all the objects of an object catalog of parameterized `TYPE`. The order of the iteration is implementation defined. An iterator is _valid_ if it is associated with an object in the catalog, otherwise it is _invalid_. Thread‐safe iteration is provided by (read)locking the object catalog during the iterator's construction and unlocking it at the iterator's destruction. This guarantees that during the life time of an iterator, the object catalog can't be modified (nevertheless, multiple threads can concurrently read the object catalog). == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlcc/ObjectCatalogIter/2constructor-05.adoc[`ObjectCatalogIter`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bdlcc/ObjectCatalogIter/2destructor.adoc[`~ObjectCatalogIter`] [.small]#[destructor]# | Destroy this iterator and unlock the catalog associated with it. | xref:BloombergLP/bdlcc/ObjectCatalogIter/handle.adoc[`handle`] | Return the handle referred to by the iterator. The behavior is undefined unless the iterator is _valid_. | xref:BloombergLP/bdlcc/ObjectCatalogIter/operator_call.adoc[`operator()`] | Return the handle and object associated with this iterator. | xref:BloombergLP/bdlcc/ObjectCatalogIter/operator_inc.adoc[`operator++`] | Advance this iterator to the next object in the associated catalog. | xref:BloombergLP/bdlcc/ObjectCatalogIter/value.adoc[`value`] | Return a `const` reference to the value referred to by the iterator. The behavior is undefined unless the iterator is _valid_. | xref:BloombergLP/bdlcc/ObjectCatalogIter/2conversion.adoc[`operator void const*`] | Return non‐zero if the iterator is _valid_, and 0 otherwise. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#