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).

Synopsis

Declared in <bslstl_hashtable.h>

HashTable(
    TransparentHash const& hash,
    TransparentEqualTo const& compare,
    SizeType initialNumBuckets,
    float initialMaxLoadFactor,
    allocator<pair<basic_string<char> const, Json>> const& basicAllocator = ALLOCATOR());

Created with MrDocs