# Modifiers

The following table provides additional information on the members of the `concurrent_unordered_map` and `concurrent_unordered_multimap` template classes.
Member | Description
--- | ---
`std::pair<iterator, bool> insert(const value_type& x)` | Constructs copy of `x` and attempts to insert it into the map. Destroys the copy if the attempt fails because there was already an item with the same key. Returns: `std::pair(iterator,success)`. The value `iterator` points to an item in the map with a matching key. The value of `success` is true if the item was inserted; false otherwise.
`iterator insert(const_iterator hint, const value_type& x)` | Same as `insert(x)`. ### Note The current implementation ignores the hint argument. Other implementations might not ignore it. It exists for similarity with the C++11 class `unordered_map`. It hints to the implementation about where to start searching. Typically it should point to an item adjacent to where the item will be inserted. Returns: Iterator pointing to inserted item, or item already in the map with the same key.
`template<class InputIterator> void insert(InputIterator first, InputIterator last)` | Does `insert(*i)` where `i` is in the half-open interval `[first,last)`.
`iterator unsafe_erase(const_iterator position)` | Removes the item pointed to by `position` from the map. Returns: Iterator pointing to item that was immediately after the erased item, or `end()` if erased item was the last item in the map.
`size_type unsafe_erase(const key_type& k)` | Removes item with key `k` if such an item exists. Returns: 1 if an item was removed; 0 otherwise.
`iterator unsafe_erase(const_iterator first, const_iterator last)` | Removes `*i` where `i` is in the half-open interval`[first,last)` . Returns: `last`
`void clear()` | Remove all items from the map.

The following table provides additional information on the `concurrent_unordered_map` template class.
Member | Description
--- | ---
`void swap(concurrent_unordered_map& m)` | Swaps contents of `*this` and `m`.

The following table provides additional information on the `concurrent_unordered_multimap` template class.
Member | Description
--- | ---
`void swap(concurrent_unordered_multimap& m)` | Swaps contents of `*this` and `m`.

Parent topic: concurrent_unordered_map and concurrent_unordered_multimap Template Classes