From: Michal Jarzabek Date: Tue, 31 May 2016 18:24:23 +0000 (+0100) Subject: common/simple_cache.hpp: add std::move X-Git-Tag: v11.0.0~273^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c653573374912dcd75da11b65e7d8058b210a7df;p=ceph.git common/simple_cache.hpp: add std::move Signed-off-by: Michal Jarzabek --- diff --git a/src/common/simple_cache.hpp b/src/common/simple_cache.hpp index 362763253be..d8653ece20e 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)); } };