Namespaces
Variants
Actions

std::unordered_map<Key,T,Hash,KeyEqual,Allocator>::insert_or_assign

From cppreference.com
 
 
 
 
template< class M >
std::pair<iterator, bool> insert_or_assign( const Key& k, M&& obj );
(1) (since C++17)
template< class M >
std::pair<iterator, bool> insert_or_assign( Key&& k, M&& obj );
(2) (since C++17)
template< class K, class M >
std::pair<iterator, bool> insert_or_assign( K&& k, M&& obj );
(3) (since C++26)
template< class M >
iterator insert_or_assign( const_iterator hint, const Key& k, M&& obj );
(4) (since C++17)
template< class M >
iterator insert_or_assign( const_iterator hint, Key&& k, M&& obj );
(5) (since C++17)
template< class K, class M >
iterator insert_or_assign( const_iterator hint, K&& k, M&& obj );
(6) (since C++26)
1,4) If a key equivalent to k already exists in the container, assigns std::forward<M>(obj) to the mapped_type corresponding to the key k. If the key does not exist, inserts the new value as if by insert, constructing it from value_type(k, std::forward<M>(obj)).
2,5) Same as (1,4), except the mapped value is constructed from value_type(std::move(k), std::forward<M>(obj)).
3,6) If a key equivalent to k already exists in the container, assigns std::forward<M>(obj) to the mapped_type corresponding to the key k. If the key does not exist, constructs an object u of value_type with std::forward<K>(k), std::forward<M>(obj)), then inserts u into *this. If hash_function()(u.first) != hash_function()(k) || contains(u.first) is true, the behavior is undefined. The value_type must be EmplaceConstructible into unordered_map from