本文整理汇总了C++中tcache::erase方法的典型用法代码示例。如果您正苦于以下问题:C++ tcache::erase方法的具体用法?C++ tcache::erase怎么用?C++ tcache::erase使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tcache
的用法示例。
在下文中一共展示了tcache::erase方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: shrink_cache
static void shrink_cache()
{
#ifdef DEBUG_MINIMAP_CACHE
std::cerr << "\nShrink cache from " << cache.size();
#else
DBG_GUI_D << "Shrinking the minimap cache.\n";
#endif
std::vector<std::pair<unsigned, tcache::iterator> > items;
for(tcache::iterator itor = cache.begin(); itor != cache.end(); ++itor) {
itor->second.age /= 2;
items.push_back(std::make_pair(itor->second.age, itor));
}
std::partial_sort(items.begin()
, items.begin() + cache_max_size / 4
, items.end()
, compare);
for(std::vector<std::pair<unsigned, tcache::iterator> >::iterator
vitor = items.begin()
; vitor < items.begin() + cache_max_size / 4
; ++vitor) {
cache.erase(vitor->second);
}
#ifdef DEBUG_MINIMAP_CACHE
std::cerr << " to " << cache.size() << ".\n";
#endif
}