comparison ThreadSafeLookup.hpp @ 16:06166d6c083b

Add configuration processing. Cache DB values Add a custom RBTree to save space. Track multiple DB connections properly. More testing. Add ValueExistsException.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Tue, 28 Aug 2012 18:58:02 +0200
parents b5943e4bf676
children fda70a362ed5
comparison
equal deleted inserted replaced
15:199fc63c60c1 16:06166d6c083b
29 29
30 private: 30 private:
31 typedef QHash<Key_t, Value_t> map_t; 31 typedef QHash<Key_t, Value_t> map_t;
32 map_t map; 32 map_t map;
33 33
34 typename Locking<isLocking>::Lock_t masterLock; 34 mutable typename Locking<isLocking>::Lock_t masterLock;
35 public: 35 public:
36 36
37 boost::optional<Value_t> value(const Key_t& key) 37 boost::optional<Value_t> value(const Key_t& key) const
38 { 38 {
39 boost::optional<Value_t> retVal; 39 boost::optional<Value_t> retVal;
40 typename Locking<isLocking>::Locker_t lock(&masterLock); 40 typename Locking<isLocking>::Locker_t lock(&masterLock);
41 typename map_t::const_iterator c = map.find(key); 41 typename map_t::const_iterator c = map.find(key);
42 if (c != map.end()) { 42 if (c != map.end()) {