[#bsl-unordered_map-02b-try_emplace-05e] = xref:bsl.adoc[bsl]::xref:bsl/unordered_map-02b.adoc[unordered_map]::try_emplace :relfileprefix: ../../ :mrdocs: Emplace a value for `key` at `hint` if missing. == Synopsis Declared in `<bslstl_unorderedmap.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class... Args> xref:bsl/unordered_map-02b/iterator.adoc[iterator] try_emplace( xref:bsl/unordered_map-02b/const_iterator.adoc[const_iterator] hint, KEY const& key, Args&&... args); ---- == Description Emplace a value for `key` if no equivalent key already exists. If a key equivalent to the specified `key` already exists in this unordered_map, return an iterator referring to the existing item. Otherwise, insert into this map a newly‐created `value_type` object, constructed from `key` and the specified `args`, and return an iterator referring to the newly‐created entry. Use the specified `hint` as a starting point for checking to see if the key already in the unordered_map. This method requires that the (template parameter) types `KEY` and `VALUE` are `emplace‐constructible` from `key` and `args` respectively. For C++03, `VALUE` must also be `copy‐constructible`. == Return Value iterator to the existing or newly inserted element == Parameters [cols="1,4"] |=== | Name| Description | *hint* | iterator hint for insertion | *key* | key to look up | *args* | constructor arguments for the new element |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#