本文整理汇总了C++中std::unordered_multimap::count方法的典型用法代码示例。如果您正苦于以下问题:C++ unordered_multimap::count方法的具体用法?C++ unordered_multimap::count怎么用?C++ unordered_multimap::count使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类std::unordered_multimap
的用法示例。
在下文中一共展示了unordered_multimap::count方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: strIsInHashTable
bool strIsInHashTable(RawString &str, std::hash<std::string> &strHash,
std::unordered_multimap<u32, StringTableNode> &stringTable)
{
u32 hash = strHash(str);
int numMatching = stringTable.count(hash);
if ( numMatching == 1 )
{ // Should guarentee that you can find at least one entry
StringTableNode &node = stringTable.find(hash)->second;
if ( node.string.compare(str) == 0 )
return true;
}
else if ( numMatching > 1 )
{
u32 currLowest = 0;
bool success = false;
auto range = stringTable.equal_range(hash);
for ( auto it = range.first; it != range.second; it ++ )
{
StringTableNode &node = it->second;
if ( node.string.compare(str) == 0 )
{
if ( success == false ) // If no matches have previously been found
{
currLowest = node.stringNum;
success = true;
}
else if ( node.stringNum < currLowest ) // If matches have previously been found
currLowest = node.stringNum; // Replace if stringNum < previous stringNum
}
}
return success;
}
return false; // No matches
}