bsl::unordered_map::try_emplace

Emplace with transparent lookup key at hint.

Synopsis

Declared in <bslstl_unorderedmap.h>

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

Description

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

Note: implemented inline due to Sun CC compilation error.

Return Value

iterator to the existing or newly inserted element

Parameters

NameDescription
hintstarting iterator for the lookup
keylookup key to emplace
argsconstructor arguments for the mapped value