Beispiel #1
0
		void put( const key_t &key, const value_t &value){
			auto it = cache_map.find(key);
			if (it != cache_map.end()) {
				cache_list.erase(it -> second ); 
				cache_map.erase(it); 
			}
			cache_list.push_front(pair(key, value));
			cache_map[key] = cache_list.begin(); 

			if (cache_map.size() > max_size)
			{
				auto last = cache_list.end(); 
				last--; 
				cache_map.erase( last -> first );
				cache_list.pop_back(); 
			}
		}