bsl::unordered_map::try_emplace

Emplace a value for movable key if missing.

Synopsis

Declared in <bslstl_unorderedmap.h>

template<class... Args>
pair<iterator, bool>
try_emplace(
    BloombergLP::bslmf::MovableRef<KEY> 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 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 std::forward<KEY>(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