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.
Declared in <bslalg_hashtableanchor.h>
class HashTableAnchor;
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.
| Name | Description |
|---|---|
HashTableAnchor [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. |
bucketArrayAddress | Return the value of the bucketArrayAddress attribute of this object. |
bucketArraySize | Return the value of the bucketArraySize attribute of this object. |
listRootAddress | Return the value listRootAddress attribute of this object. |
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. |
setListRootAddress | Set the listRootAddress attribute of this object to the specified value. |
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. |
operator BloombergLP::bslmf::NestedTraitDeclaration<HashTableAnchor, IsBitwiseCopyable> | Declare HashTableAnchor as bitwise copyable. |
| Name | Description |
|---|---|
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. |
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. |
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. |