BloombergLP::bdlc::FlatHashMap::try_emplace

Try to emplace an element with the specified key.

Synopsis

Declared in <bdlc_flathashmap.h>

template<class... ARGS>
bsl::pair<FlatHashMap<KEY, VALUE, HASH, EQUAL>::iterator, bool>
try_emplace(
    BloombergLP::bslmf::MovableRef<KEY> key,
    ARGS&&... args);

Description

If a key equivalent to the specified key already exists in this 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

pair of iterator to the element and whether insertion occurred

Parameters

NameDescription
keykey of the element to emplace (may be moved from)
argsarguments forwarded to construct the mapped value