本文整理汇总了C++中hash_table::equal_range方法的典型用法代码示例。如果您正苦于以下问题:C++ hash_table::equal_range方法的具体用法?C++ hash_table::equal_range怎么用?C++ hash_table::equal_range使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类hash_table
的用法示例。
在下文中一共展示了hash_table::equal_range方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: remove_from_special_cache
void symmetric_hash_join::remove_from_special_cache(
hash_table& table,
int idx,
tuple_ptr tup)
{
boost::interprocess::scoped_lock<boost::interprocess::interprocess_recursive_mutex> lock (m_mutex);
LOG_DEBUG("==>try to remove: " << *tup);
// print_hash_table(left_htable);
std::pair<hash_table::const_iterator, hash_table::const_iterator> range =
table.equal_range((*tup)[idx]);
hash_table::const_iterator to_remove = range.first;
for (; to_remove != range.second; ++to_remove)
{
if ((to_remove->second == tup) &&(to_remove->second->timestamp() == tup->timestamp()))
break;
}
if (to_remove != range.second)
{
table.erase(to_remove);
LOG_DEBUG("\tdrop: " << to_remove->second << " from hash table");
}
}