[#BloombergLP-bslstl-HashTable-09-emplaceIfMissing]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bslstl.adoc[bslstl]::xref:BloombergLP/bslstl/HashTable-09.adoc[HashTable&lt;UnorderedMapKeyConfiguration&lt;basic&lowbar;string&lt;char&gt; const, pair&lt;basic&lowbar;string&lt;char&gt; const, Json&gt;&gt;, TransparentHash, TransparentEqualTo, allocator&lt;pair&lt;basic&lowbar;string&lt;char&gt; const, Json&gt;&gt;&gt;]::emplaceIfMissing
:relfileprefix: ../../../
:mrdocs:

Insert into this hash&hyphen;table a newly&hyphen;created `ValueType` object, constructed by forwarding the specified (variable number of) `arguments` to the corresponding constructor of `ValueType`, if a key equivalent to that of the newly&hyphen;created object does not already exist in this hash&hyphen;table&period; Return the address of the (possibly newly created and inserted) element in this hash table whose key is equivalent to that of an object created from `arguments`&period; Load `true` into the specified `isInsertedFlag` if a new value was inserted, and `false` if an equivalent key was already present&period; If this hash&hyphen;table contains more than one element with an equivalent key, return the first such element (from the contiguous sequence of elements having a matching key)&period; Additional buckets are allocated, as needed, to preserve the invariant `loadFactor &lt;&equals; maxLoadFactor`&period; If this function tries to allocate a number of buckets larger than can be represented by this hash&hyphen;table&apos;s `SizeType`, a `std&colon;&colon;length&lowbar;error` exception is thrown&period; This method requires that the `ValueType` defined in the (template parameter) type `KEY&lowbar;CONFIG` be `emplace&hyphen;constructible` into this hash&hyphen;table from `arguments` (see &lcub;Requirements on `KEY&lowbar;CONFIG`&rcub;)&semi;

== Synopsis

Declared in `&lt;bslstl&lowbar;hashtable&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
template&lt;class&period;&period;&period; Args&gt;
xref:BloombergLP/bslalg/BidirectionalLink.adoc[bslalg::BidirectionalLink]*
emplaceIfMissing(
    bool* isInsertedFlag,
    Args&&&period;&period;&period; arguments);
----


[.small]#Created with https://www.mrdocs.com[MrDocs]#
