Emplace a value for transparent key if missing.

Synopsis

Declared in <bslstl_unorderedmap.h>

template<
    class LOOKUP_KEY,
    class... Args>
pair<iterator, bool>
try_emplace(
    LOOKUP_KEY&& key,
    Args&&... args)
requires BloombergLP::bslmf::IsTransparentPredicate<HASH, LOOKUP_KEY>::value
        && BloombergLP::bslmf::IsTransparentPredicate<EQUAL,LOOKUP_KEY>::value
        && !bsl::is_convertible<LOOKUP_KEY&&, const_iterator>::value
        && !bsl::is_convertible<LOOKUP_KEY&&, iterator>::value;

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 std::forward<LOOKUP_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.

Note: implemented inline due to Sun CC compilation error.

Return Value

iterator to the element and whether insertion occurred

Parameters

Name

Description

key

key to look up

args

constructor arguments for the new element

Created with MrDocs