增强特性以检查对象是否为STL容器
Boost traits to check if an object is STL container
我正在我的项目中重构一个序列化库,以便它可以编译-std=c++11
和想要识别对象是否为STL容器,例如
is_stl_deque<T>::value
is_stl_list<T>::value
is_stl_vector<T>::value
is_set<T>::value
is_map<T>::value
is_pair<T>::value
is_sequence<T>::value
是否有boost trait来检查对象是否为STL容器?
如果没有(我找不到任何),我如何实现一个
我不知道在boost中是否有任何东西,但是您的列表中的东西很容易实现部分专门化:
template<class T>
struct is_vector : std::false_type { };
template<class T, class Alloc>
struct is_vector<std::vector<T, Alloc>> : std::true_type { };
相关文章:
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 检查函数返回类型是否与STL容器类型值相同
- glibcxx STL 在实现 std::valarray::sum() 时是否不正确?
- 如何检查C ++ STL列表是否为回文?
- 是否有具有外部元素分配的序列容器(在 STL 中)?
- STL 是否为其标头指定标头保护?
- 擦除是否删除 stl 无序列图元素使用的堆内存
- 是否有一种 STL 算法可以最后找到,但它也适用于指针?
- C++/STL 我应该使用哪种算法来检查容器是否有重复项?
- 是否有一个类似STL的函数来用索引的某个函数填充数组
- 如何检查队列是否使用 STL 排序
- STL 库在不同平台上是否不同?
- 是否有任何常规方法可以通知 STL 移动和复制构造函数?
- STL功能用于确定距离是否在n`中
- 是否可以在C STL中获得集合的单个元素
- 什么 STL 算法可以确定容器中的一个项目是否满足谓词?
- 将对象(如 STL 对象)传入和传出静态库是否安全
- 如果其他人在等待,是否有标准的STL或QT方法可以产生互惠码,否则请保留它
- 使用 stl 迭代器封装向量是否很好?如果是?怎么可能呢?
- STL 是否有办法在调用小于之前应用函数