| 157 | |
| 158 | template <class M> |
| 159 | std::pair<iterator, bool> insert_or_assign(const Key& k, M&& value) { |
| 160 | auto result = try_emplace(k, std::forward<M>(value)); |
| 161 | if (!result.second) { |
| 162 | result.first->second = std::forward<M>(value); |
| 163 | } |
| 164 | return result; |
| 165 | } |
| 166 | |
| 167 | template <class M> |
| 168 | std::pair<iterator, bool> insert_or_assign(Key&& k, M&& value) { |