| 1101 | |
| 1102 | template <class M> |
| 1103 | std::pair<iterator, bool> insert_or_assign(const CharT* key, |
| 1104 | size_type key_size, M&& obj) { |
| 1105 | auto it = emplace(key, key_size, std::forward<M>(obj)); |
| 1106 | if (!it.second) { |
| 1107 | it.first.value() = std::forward<M>(obj); |
| 1108 | } |
| 1109 | |
| 1110 | return it; |
| 1111 | } |
| 1112 | |
| 1113 | iterator erase(const_iterator pos) { |
| 1114 | if (should_clear_old_erased_values()) { |