[#BloombergLP-bslalg-HashTableAnchor] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslalg.adoc[bslalg]::HashTableAnchor :relfileprefix: ../../ :mrdocs: This complex constrained _in_‐_core_ (value‐semantic) attribute class characterizes the key data elements of a hash table. See the section information on the class attributes. Note that the class invariant is the identically the complex constraint of this component. == Synopsis Declared in `<bslalg_hashtableanchor.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class HashTableAnchor; ---- == Description This class: * supports a complete set of _value‐semantic_ operations * except for `bdex` serialization and default construction * is *in‐core* * is *exception‐neutral* (agnostic) * is *alias‐safe* * is `const` *thread‐safe* For terminology see `bsldoc_glossary`. == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/HashTableAnchor/2constructor.adoc[`HashTableAnchor`] [.small]#[constructor]# | Create a `bslalg::HashTableAnchor` object having the specified `bucketArrayAddress`, `bucketArraySize`, and `listRootAddress` attributes. The behavior is undefined unless `bucketArrayAddress` refers to a contiguous sequence of valid `bslalg::HashTableBucket` objects of at least `bucketArraySize` or unless both `bucketArrayAddress` and `bucketArraySize` are 0. | xref:BloombergLP/bslalg/HashTableAnchor/bucketArrayAddress.adoc[`bucketArrayAddress`] | Return the value of the `bucketArrayAddress` attribute of this object. | xref:BloombergLP/bslalg/HashTableAnchor/bucketArraySize.adoc[`bucketArraySize`] | Return the value of the `bucketArraySize` attribute of this object. | xref:BloombergLP/bslalg/HashTableAnchor/listRootAddress.adoc[`listRootAddress`] | Return the value `listRootAddress` attribute of this object. | xref:BloombergLP/bslalg/HashTableAnchor/setBucketArrayAddressAndSize.adoc[`setBucketArrayAddressAndSize`] | Set the bucket array address and bucket array size attributes of this object to the specified `bucketArrayAddress` and `bucketArraySize` values. The behavior is undefined unless `bucketArrayAddress` refers to a contiguous sequence of valid `bslalg::HashTableBucket` objects of at least `bucketArraySize`, or unless both `bucketArrayAddress` and `bucketArraySize` are 0. | xref:BloombergLP/bslalg/HashTableAnchor/setListRootAddress.adoc[`setListRootAddress`] | Set the `listRootAddress` attribute of this object to the specified `value`. | xref:BloombergLP/bslalg/HashTableAnchor/swap.adoc[`swap`] | Efficiently exchange the value of this object with the value of the specified `other` object. This method provides the no‐throw exception‐safety guarantee. | xref:BloombergLP/bslalg/HashTableAnchor/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<HashTableAnchor, IsBitwiseCopyable>`] | Declare `HashTableAnchor` as bitwise copyable. |=== == Non-Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bslalg/operator_not_eq-07.adoc[`operator!=`] | Return `true` if the specified `lhs` and `rhs` objects do not have the same value, and `false` otherwise. Two `bslalg::HashTableAnchor` objects do not have the same value if any of the corresponding values of their `bucketArrayAddress`, `bucketArraySize`, or `listRootAddress` attributes are not the same. | xref:BloombergLP/bslalg/operator_eq-0e3.adoc[`operator==`] | Return `true` if the specified `lhs` and `rhs` objects have the same value, and `false` otherwise. Two `bslalg::HashTableAnchor` objects have the same value if all of the corresponding values of their `bucketArrayAddress`, `bucketArraySize`, and `listRootAddress` attributes are the same. | xref:BloombergLP/bslalg/swap.adoc[`swap`] | Efficiently exchange the values of the specified `a` and `b` objects. This function provides the no‐throw exception‐safety guarantee. The behavior is undefined unless the two objects were created with the same allocator. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#