Quick Links:

bal | bbl | bdl | bsl

Public Member Functions

bslalg::HashTableAnchor Class Reference

#include <bslalg_hashtableanchor.h>

List of all members.

Public Member Functions

 BSLMF_NESTED_TRAIT_DECLARATION (HashTableAnchor, bsl::is_trivially_copyable)
 HashTableAnchor (HashTableBucket *bucketArrayAddress, std::size_t bucketArraySize, BidirectionalLink *listRootAddress)
 HashTableAnchor (const HashTableAnchor &original)
bslalg::HashTableAnchoroperator= (const bslalg::HashTableAnchor &rhs)
void setBucketArrayAddressAndSize (HashTableBucket *bucketArrayAddress, std::size_t bucketArraySize)
void setListRootAddress (BidirectionalLink *value)
void swap (HashTableAnchor &other)
HashTableBucketbucketArrayAddress () const
std::size_t bucketArraySize () const
BidirectionalLinklistRootAddress () const

Detailed Description

This complex constrained in-*core* (value-semantic) attribute class characterizes the key data elements of a hash table. See the "Attributes" section under @DESCRIPTION in the component-level documentation for/ information on the class attributes. Note that the class invariant is the identically the complex constraint of this component.

This class:

For terminology see bsldoc_glossary.

See Component bslalg_hashtableanchor


Constructor & Destructor Documentation

bslalg::HashTableAnchor::HashTableAnchor ( HashTableBucket bucketArrayAddress,
std::size_t  bucketArraySize,
BidirectionalLink listRootAddress 
)

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.

bslalg::HashTableAnchor::HashTableAnchor ( const HashTableAnchor original  ) 

Create a bslalg::HashTableAnchor object having the same value as the specified original object.


Member Function Documentation

bslalg::HashTableAnchor::BSLMF_NESTED_TRAIT_DECLARATION ( HashTableAnchor  ,
bsl::is_trivially_copyable   
)
bslalg::HashTableAnchor& bslalg::HashTableAnchor::operator= ( const bslalg::HashTableAnchor rhs  ) 

Assign to this object the value of the specified rhs object, and return a reference providing modifiable access to this object.

void bslalg::HashTableAnchor::setBucketArrayAddressAndSize ( HashTableBucket bucketArrayAddress,
std::size_t  bucketArraySize 
)

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.

void bslalg::HashTableAnchor::setListRootAddress ( BidirectionalLink value  ) 

Set the listRootAddress attribute of this object to the specified value.

void bslalg::HashTableAnchor::swap ( HashTableAnchor other  ) 

Efficiently exchange the value of this object with the value of the specified other object. This method provides the no-throw exception-safety guarantee.

HashTableBucket* bslalg::HashTableAnchor::bucketArrayAddress (  )  const

Return the value of the bucketArrayAddress attribute of this object.

std::size_t bslalg::HashTableAnchor::bucketArraySize (  )  const

Return the value of the bucketArraySize attribute of this object.

BidirectionalLink* bslalg::HashTableAnchor::listRootAddress (  )  const

Return the value listRootAddress attribute of this object.


The documentation for this class was generated from the following file: