From a8b6878269d98e6445e04a79db8611aed4bda509 Mon Sep 17 00:00:00 2001 From: Coldwings Date: Tue, 9 Jul 2024 16:22:13 +0800 Subject: [PATCH] Fix on key type --- common/objectcachev2.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/common/objectcachev2.h b/common/objectcachev2.h index 125e3228..4fdcfcce 100644 --- a/common/objectcachev2.h +++ b/common/objectcachev2.h @@ -110,14 +110,14 @@ class ObjectCacheV2 { } template - Box* __find_or_create_item(const KeyType& key) { + Box* __find_or_create_item(KeyType&& key) { Box keyitem(key); auto pkey = &keyitem; Box* item = nullptr; SCOPED_LOCK(maplock); auto it = map.find(pkey); if (it == map.end()) { - item = new Box(key); + item = new Box(std::forward(key)); map.emplace(item); } else item = *it; @@ -217,7 +217,7 @@ class ObjectCacheV2 { template Borrow borrow(KeyType&& key) { - return borrow(&key, [&]() { return new V(); }); + return borrow(std::forward(key), [&]() { return new V(); }); } template