bsl::unordered_map::try_emplace

Emplace a value for key if no equivalent key already exists.

Synopsis

Declared in <bslstl_unorderedmap.h>

template<class... Args>
pair<iterator, bool>
try_emplace(
    KEY const& key,
    Args&&... args);

Description

If a key equivalent to the specified key already exists in this unordered_map, return a pair containing an iterator referring to the existing item, and false. Otherwise, insert into this map a newly-created value_type object, constructed from key and the specified args, and return a pair containing an iterator referring to the newly-created entry and true. 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 element and whether insertion occurred

Parameters

NameDescription
keykey to look up
argsconstructor arguments for the new element