Emplace a newly constructed element if its key is not already present.

Synopsis

Declared in <bslstl_unorderedmap.h>

template<class... Args>
pair<iterator, bool>
emplace(Args&&... args);

Description

Insert into this unordered map a newly‐created value_type object, constructed by forwarding get_allocator() (if required) and the specified (variable number of) args to the corresponding constructor of value_type, if a key equivalent to such a value does not already exist in this map; otherwise, this method has no effect (other than possibly creating a temporary value_type object). Return a pair whose first member is an iterator referring to the (possibly newly created and inserted) object in this map whose key is equivalent to that of an object constructed from args, and whose second member is true if a new value was inserted, and false if an equivalent key was already present. This method requires that the (template parameter) types KEY and VALUE both be emplace‐constructible from args (see {Requirements on value_type}).

Return Value

iterator to the element and whether insertion occurred

Parameters

Name

Description

args

constructor arguments for the new element

Created with MrDocs