【发布时间】:2014-04-16 20:02:40
【问题描述】:
在我的 c++ 模板结构中,我想使用使用不同分配器的不同容器类型,例如std::vector 和推力::device_vector。
我需要明确指定分配器,否则我会得到“模板参数的数量错误(1,应该是 2)”:
template<typename T, template <typename, typename> class Container, typename Alloc>
struct wrap_into_container
{
typedef Container<T, Alloc> type;
};
由于不同的容器类使用不同的分配器,所以我每次要使用这个模板时都必须指定对应的分配器。
如何在不指定容器的情况下根据容器类型获取分配器?
我想过使用一个特征结构,然后我专门针对每个容器类型,但我不知道如何实现它,或者它是否有用/可能/...
更新: 不幸的是,由于 NVIDIA 编译器的限制,我无法使用 C++11 ...
【问题讨论】:
标签: c++ templates stl containers