[#BloombergLP-bdlc-FlatHashMap-try_emplace-041] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlc.adoc[bdlc]::xref:BloombergLP/bdlc/FlatHashMap.adoc[FlatHashMap]::try_emplace :relfileprefix: ../../../ :mrdocs: Try to emplace an element with `key` using a placement hint. == Synopsis Declared in `<bdlc_flathashmap.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class... ARGS> xref:BloombergLP/bdlc/FlatHashMap/iterator.adoc[FlatHashMap<KEY, VALUE, HASH, EQUAL>::iterator] try_emplace( xref:BloombergLP/bdlc/FlatHashMap/const_iterator.adoc[const_iterator] hint, xref:BloombergLP/bslmf/MovableRef.adoc[BloombergLP::bslmf::MovableRef<KEY>] key, ARGS&&... args); ---- == Description If a key equivalent to the specified `key` already exists in this map, return an iterator referring to the existing item. Otherwise, insert into this map a newly‐created `value_type` object, constructed from `std::forward<KEY>(key)` and the specified `args`, and return an iterator referring to the newly‐created entry. 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 (ignored) | *key* | key of the element to emplace (may be moved from) | *args* | arguments forwarded to construct the mapped value |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#