From: Sage Weil Date: Thu, 23 Jul 2015 12:51:39 +0000 (-0400) Subject: common/sharedptr_registry: parameterize map<> comparator X-Git-Tag: v9.1.0~346^2~37 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=456540f8f944c9087dc409fb85d80244d022f51f;p=ceph.git common/sharedptr_registry: parameterize map<> comparator Signed-off-by: Sage Weil --- diff --git a/src/common/sharedptr_registry.hpp b/src/common/sharedptr_registry.hpp index b8c26ce17739..bb0fcadefd2a 100644 --- a/src/common/sharedptr_registry.hpp +++ b/src/common/sharedptr_registry.hpp @@ -24,7 +24,7 @@ * Provides a registry of shared_ptr indexed by K while * the references are alive. */ -template +template > class SharedPtrRegistry { public: typedef ceph::shared_ptr VPtr; @@ -33,18 +33,18 @@ public: private: Mutex lock; Cond cond; - map > contents; + map, C> contents; class OnRemoval { - SharedPtrRegistry *parent; + SharedPtrRegistry *parent; K key; public: - OnRemoval(SharedPtrRegistry *parent, K key) : + OnRemoval(SharedPtrRegistry *parent, K key) : parent(parent), key(key) {} void operator()(V *to_remove) { { Mutex::Locker l(parent->lock); - typename map >::iterator i = + typename map, C>::iterator i = parent->contents.find(key); if (i != parent->contents.end() && i->second.second == to_remove) { @@ -73,7 +73,7 @@ public: { Mutex::Locker l(lock); VPtr next_val; - typename map >::iterator i = + typename map, C>::iterator i = contents.upper_bound(key); while (i != contents.end() && !(next_val = i->second.first.lock())) @@ -92,7 +92,7 @@ public: bool get_next(const K &key, pair *next) { VPtr next_val; Mutex::Locker l(lock); - typename map >::iterator i = + typename map, C>::iterator i = contents.upper_bound(key); while (i != contents.end() && !(next_val = i->second.first.lock())) @@ -108,7 +108,7 @@ public: Mutex::Locker l(lock); waiting++; while (1) { - typename map >::iterator i = + typename map, C>::iterator i = contents.find(key); if (i != contents.end()) { VPtr retval = i->second.first.lock(); @@ -129,7 +129,7 @@ public: Mutex::Locker l(lock); waiting++; while (1) { - typename map >::iterator i = + typename map, C>::iterator i = contents.find(key); if (i != contents.end()) { VPtr retval = i->second.first.lock(); @@ -165,7 +165,7 @@ public: Mutex::Locker l(lock); waiting++; while (1) { - typename map >::iterator i = + typename map, C>::iterator i = contents.find(key); if (i != contents.end()) { VPtr retval = i->second.first.lock();