[#BloombergLP-bslstl-HashTable-09-2constructor-08] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/HashTable-09.adoc[HashTable<UnorderedMapKeyConfiguration<basic_string<char> const, pair<basic_string<char> const, Json>>, TransparentHash, TransparentEqualTo, allocator<pair<basic_string<char> const, Json>>>]::HashTable :relfileprefix: ../../../ :mrdocs: Create a hash table having the same value (and `maxLoadFactor`) as the specified `original` object that uses the specified `basicAllocator` to supply memory. The contents of `original` are moved (in constant time) to the new hash‐table if `basicAllocator == original.get_allocator()`, and are move‐inserted (in linear time) using `basicAllocator` otherwise. `original` is left in a valid but unspecified state. Use a copy of `original.hasher()` and a copy of `original.comparator()` to organize elements in this hash‐table. This method requires that the `ValueType` defined by the (template parameter) type `KEY_CONFIG` be `move‐insertable` into this hash‐table. Note that this hash‐table may have a different `numBuckets` than `original`, and a correspondingly different `loadFactor`, as long as `maxLoadFactor` is not exceeded. Also note that a `bslma::Allocator *` can be supplied for `basicAllocator` if the (template parameter) `ALLOCATOR` is `bsl::allocator` (the default). == Synopsis Declared in `<bslstl_hashtable.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- HashTable( xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<HashTable<UnorderedMapKeyConfiguration<basic_string<char> const, pair<basic_string<char> const, Json>>, TransparentHash, TransparentEqualTo, allocator<pair<basic_string<char> const, Json>>>>] original, xref:bsl/allocator-0df.adoc[allocator<pair<basic_string<char> const, Json>>] const& basicAllocator); ---- [.small]#Created with https://www.mrdocs.com[MrDocs]#