TBB并发哈希映射模板参数

时间:2016-04-27 12:28:39

标签: c++ tbb

我正在尝试使用TBB concurrent_hash_map容器。在example之后,表明我需要3个类型参数(模板参数),键和值类型以及特征类型HashCompare。在this链接中,它表示HashCompare具有基本类型的默认值。

然而,当尝试以两种方式(2或3个模板参数)中的任何一种方式使用它时,我收到关于“模板参数太少,预期4”的错误 - 并且实际上在挖掘代码时,唯一的定义是我能找到的头文件中的concurrent_hash_map有四个参数:

class concurrent_hash_map<Key,T,HashCompare,Allocator>

我错过了什么,这个例子过时了吗?

1 个答案:

答案 0 :(得分:2)

在最后两个参数的默认值中有另一个声明。确保包含必要的头文件:

#include <tbb/concurrent_hash_map.h>

在我的TBB版本中,该文件包含:

template<typename Key, typename T, typename HashCompare = tbb_hash_compare<Key>, typename A = tbb_allocator<std::pair<Key, T> > >
class concurrent_hash_map;