Create an empty hash table with the specified policies and capacity.

Synopsis

Declared in <bslstl_hashtable.h>

HashTable(
    HASHER const& hash,
    COMPARATOR const& compare,
    SizeType initialNumBuckets,
    float initialMaxLoadFactor,
    ALLOCATOR const& basicAllocator = ALLOCATOR());

Description

Create an empty hash‐table using the specified hash and compare functors to organize elements in the table, which will initially have at least the specified initialNumBuckets and a maxLoadFactor of the specified initialMaxLoadFactor. Optionally specify a basicAllocator used to supply memory. If basicAllocator is not supplied, a default‐constructed object of the (template parameter) type ALLOCATOR is used. If the type ALLOCATOR is bsl::allocator and basicAllocator is not supplied, the currently installed default allocator is used to supply memory. If this constructor tries to allocate a number of buckets larger than can be represented by this hash‐table's SizeType, a std::length_error exception is thrown. The behavior is undefined unless 0 < initialMaxLoadFactor. Note that more than initialNumBuckets buckets may be created in order to preserve the bucket allocation strategy of the hash‐table (but never fewer). Also note that a bslma::Allocator * can be supplied for basicAllocator if the type ALLOCATOR is bsl::allocator (the default).

Parameters

Name

Description

hash

hash functor used to organize elements

compare

key‐equality comparator

initialNumBuckets

minimum initial number of buckets

initialMaxLoadFactor

initial maximum load factor

basicAllocator

allocator used to supply memory

Created with MrDocs