| 381 | |
| 382 | template <template <typename...> class Map, typename Key, typename Value, typename Allocator, typename... MapArgs> |
| 383 | bool OrderedMapWrapper<Map, Key, Value, Allocator, MapArgs...>::remove(key_type const& k) { |
| 384 | auto i = m_map.find(k); |
| 385 | if (i != m_map.end()) { |
| 386 | auto orderIt = i->second; |
| 387 | m_map.erase(i); |
| 388 | |
| 389 | m_order.erase(orderIt); |
| 390 | return true; |
| 391 | } else { |
| 392 | return false; |
| 393 | } |
| 394 | } |
| 395 | |
| 396 | template <template <typename...> class Map, typename Key, typename Value, typename Allocator, typename... MapArgs> |
| 397 | auto OrderedMapWrapper<Map, Key, Value, Allocator, MapArgs...>::take(key_type const& k) -> mapped_type { |