bsl::map::insert_or_assign

Insert or assign near hint using a movable key.

Synopsis

Declared in <bslstl_map.h>

template<class BDE_OTHER_TYPE>
map<KEY, VALUE, COMPARATOR, ALLOCATOR>::iterator
insert_or_assign(
    const_iterator hint,
    BloombergLP::bslmf::MovableRef<KEY> key,
    BDE_OTHER_TYPE&& obj);

Description

If a key equivalent to the specified key already exists in this _map, assign the specified obj to the value associated with that key, and return an iterator referring to the existing item. Otherwise, insert into this map a newly-created value_type object constructed from (std::forward<KEY>(key), std::forward<BDE_OTHER_TYPE>(obj)...)), 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 map.

Return Value

iterator to the existing or newly inserted element

Parameters

NameDescription
hintiterator hint for the insertion position
keykey to move into the element
objmapped value to assign or insert