36 template<
typename Value>
49 if (
m_set.insert(value).second)
78 template<
typename Key,
typename Value>
84 void set(
const Key &name,
const Value &value)
90 bool get(
const Key &name, Value *result)
const
93 typename std::map<Key, Value>::const_iterator n =
105 std::vector<Value> result;
106 for (
typename std::map<Key, Value>::const_iterator
109 result.push_back(it->second);
128 template<
typename Key,
typename U,
typename Caller,
typename CallerData>
236 template<
typename K,
typename V>
240 LRUCache(
size_t limit,
void (*cache_miss)(
void *data,
const K &key, V *dest),
262 typename cache_type::iterator it =
m_map.find(key);
264 if (it !=
m_map.end()) {
298 typedef typename std::template pair<typename std::template list<K>::iterator, V>
cache_entry_t;
Definition: exceptions.h:75
Definition: container.h:238
size_t m_limit
Definition: container.h:297
cache_type m_map
Definition: container.h:300
LRUCache(size_t limit, void(*cache_miss)(void *data, const K &key, V *dest), void *data)
Definition: container.h:240
void setLimit(size_t limit)
Definition: container.h:248
void * m_cache_miss_data
Definition: container.h:296
const V * lookupCache(K key)
Definition: container.h:260
void invalidate()
Definition: container.h:254
std::list< K > m_queue
Definition: container.h:302
std::template pair< typename std::template list< K >::iterator, V > cache_entry_t
Definition: container.h:298
std::template map< K, cache_entry_t > cache_type
Definition: container.h:299
void(* m_cache_miss)(void *data, const K &key, V *dest)
Definition: container.h:295
Definition: container.h:80
bool get(const Key &name, Value *result) const
Definition: container.h:90
std::vector< Value > getValues() const
Definition: container.h:102
std::map< Key, Value > m_values
Definition: container.h:117
std::mutex m_mutex
Definition: container.h:118
void set(const Key &name, const Value &value)
Definition: container.h:84
void clear()
Definition: container.h:114
Definition: container.h:126
bool empty() const
Definition: container.h:133
std::deque< T > m_queue
Definition: container.h:231
Semaphore m_signal
Definition: container.h:233
T pop_front(u32 wait_time_max_ms)
Definition: container.h:162
void push_back(T t)
Definition: container.h:139
std::mutex & getMutex()
Definition: container.h:227
T pop_back(u32 wait_time_max_ms=0)
Definition: container.h:186
T pop_frontNoEx()
Definition: container.h:175
T pop_backNoEx()
Definition: container.h:215
std::mutex m_mutex
Definition: container.h:232
std::deque< T > & getQueue()
Definition: container.h:229
T pop_backNoEx(u32 wait_time_max_ms)
Definition: container.h:202
T pop_frontNoEx(u32 wait_time_max_ms)
Definition: container.h:149
Notes for RequestQueue usage.
Definition: thread.h:100
Definition: semaphore.h:33
void post(unsigned int num=1)
Definition: semaphore.cpp:85
void wait()
Definition: semaphore.cpp:100
Definition: container.h:38
u32 size() const
Definition: container.h:68
void pop_front()
Definition: container.h:57
bool push_back(const Value &value)
Definition: container.h:47
std::queue< Value > m_queue
Definition: container.h:75
std::set< Value > m_set
Definition: container.h:74
const Value & front() const
Definition: container.h:63
std::unique_lock< std::mutex > MutexAutoLock
Definition: mutex_auto_lock.h:29