[#BloombergLP-bdlc-IndexClerk] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlc.adoc[bdlc]::IndexClerk :relfileprefix: ../../ :mrdocs: Efficient, value‐semantic manager of reusable, non‐negative integer indices. == Synopsis Declared in `<bdlc_indexclerk.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class IndexClerk; ---- == Description This class defines an efficient, value‐semantic manager type for reusable, non‐negative integer indices. The class invariants are that the all decommissioned indices must be non‐negative, less than the next new index, and unique. == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlc/IndexClerk/2constructor-0a.adoc[`IndexClerk`] [.small]#[constructor]# | Constructors | xref:BloombergLP/bdlc/IndexClerk/2destructor.adoc[`~IndexClerk`] [.small]#[destructor]# | Destroy this index clerk. | xref:BloombergLP/bdlc/IndexClerk/operator_assign.adoc[`operator=`] | Assign to this index clerk the value of the specified `rhs` index clerk, and return a reference to this modifiable index clerk. | xref:BloombergLP/bdlc/IndexClerk/bdexStreamIn.adoc[`bdexStreamIn`] | Assign to this object the value read from the specified input stream. | xref:BloombergLP/bdlc/IndexClerk/bdexStreamOut.adoc[`bdexStreamOut`] | Write the value of this object to the specified output stream. | xref:BloombergLP/bdlc/IndexClerk/begin.adoc[`begin`] | Return an iterator to the first decommissioned index, or `end()`. | xref:BloombergLP/bdlc/IndexClerk/end.adoc[`end`] | Return a `IndexClerkIter` referring to an invalid index, indicating the end of the sequence of decommissioned index. | xref:BloombergLP/bdlc/IndexClerk/getIndex.adoc[`getIndex`] | Return the next available unused integer index. Existing decommissioned indices are reissued before new ones are created. | xref:BloombergLP/bdlc/IndexClerk/isInUse.adoc[`isInUse`] | Return `true` if the specified `index` is currently in use. | xref:BloombergLP/bdlc/IndexClerk/nextNewIndex.adoc[`nextNewIndex`] | Return the smallest index that has not yet been issued. | xref:BloombergLP/bdlc/IndexClerk/numCommissionedIndices.adoc[`numCommissionedIndices`] | Return the number of indices currently in use. | xref:BloombergLP/bdlc/IndexClerk/numDecommissionedIndices.adoc[`numDecommissionedIndices`] | Return the number of indices that are currently decommissioned. | xref:BloombergLP/bdlc/IndexClerk/print.adoc[`print`] | Format this index clerk to the specified output stream. | xref:BloombergLP/bdlc/IndexClerk/putIndex.adoc[`putIndex`] | Return the specified `index` to this index clerk for reuse. | xref:BloombergLP/bdlc/IndexClerk/removeAll.adoc[`removeAll`] | Remove all indices from this index clerk. | xref:BloombergLP/bdlc/IndexClerk/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<IndexClerk, UsesBslmaAllocator>`] | Declare that this type uses a `bslma` allocator. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlc/IndexClerk/maxSupportedBdexVersion-09.adoc[`maxSupportedBdexVersion`] | `maxSupportedBdexVersion` overloads |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bdlc/operator_not_eq-014.adoc[BloombergLP::bdlc::operator!=]` | Return `true` if the specified `lhs` and `rhs` index clerks do not have the same value, and `false` otherwise. | `xref:BloombergLP/bdlc/operator_eq-0e2.adoc[BloombergLP::bdlc::operator==]` | Return `true` if the specified `lhs` and `rhs` index clerks have the same value, and `false` otherwise. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#