From c653573374912dcd75da11b65e7d8058b210a7df Mon Sep 17 00:00:00 2001 From: Michal Jarzabek Date: Tue, 31 May 2016 19:24:23 +0100 Subject: [PATCH] common/simple_cache.hpp: add std::move Signed-off-by: Michal Jarzabek --- src/common/simple_cache.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/common/simple_cache.hpp b/src/common/simple_cache.hpp index 362763253bec..d8653ece20e5 100644 --- a/src/common/simple_cache.hpp +++ b/src/common/simple_cache.hpp @@ -37,8 +37,8 @@ class SimpleLRU { } } - void _add(K key, V value) { - lru.push_front(make_pair(key, value)); + void _add(K key, V&& value) { + lru.emplace_front(key, std::move(value)); // can't move key because we access it below contents[key] = lru.begin(); trim_cache(); } @@ -50,7 +50,7 @@ public: void pin(K key, V val) { Mutex::Locker l(lock); - pinned.insert(make_pair(key, val)); + pinned.emplace(std::move(key), std::move(val)); } void clear_pinned(K e) { @@ -61,7 +61,7 @@ public: typename ceph::unordered_map >::iterator, H>::iterator iter = contents.find(i->first); if (iter == contents.end()) - _add(i->first, i->second); + _add(i->first, std::move(i->second)); else lru.splice(lru.begin(), lru, iter->second); } @@ -102,7 +102,7 @@ public: void add(K key, V value) { Mutex::Locker l(lock); - _add(key, value); + _add(std::move(key), std::move(value)); } }; -- 2.47.3